本文共 6286 字,大约阅读时间需要 20 分钟。
自动生成数据库表,提供简单的增删改查方法
4.0.0 org.springframework.boot spring-boot-starter-parent 2.0.3.RELEASE com.wo springboot-jpa 0.0.1-SNAPSHOT springboot-jpa Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime true org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1 mysql mysql-connector-java org.apache.tomcat.embed tomcat-embed-jasper javax.servlet jstl org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-maven-plugin
@Data//自动生成get/set等方法@Entity//标注为JPA的实体类@Table(name = "Goods")//数据库表的名称public class Goods { @Id //自增的主键策略 @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; //@Column(name = "goods_name")给数据库的字段起个名称 private String name; private String info;}
//JPA应用,不用写简单的增删改查public interface GoodsRespository extends JpaRepository{ //实体类名称和主键类型 //findBy===where name=#{name} List findByName(String name); List findByNameAndInfo(String name,String info);}
提供的源码
@NoRepositoryBeanpublic interface JpaRepositoryextends PagingAndSortingRepository , QueryByExampleExecutor { List findAll(); List findAll(Sort var1); List findAllById(Iterable var1); ListsaveAll(Iterablevar1); void flush();S saveAndFlush(S var1); void deleteInBatch(Iterablevar1); void deleteAllInBatch(); T getOne(ID var1); ListfindAll(Examplevar1);ListfindAll(Examplevar1, Sort var2);}
public interface GoodsService { //查询所有 public ListfindAllGoods(); //新增 public int insertGoods(Goods goods); //根据ID查询 public Goods findById(int id); //根据name查询 public List findByName(String name); //根据ID删除 public int delete(Map map); //根据name和info查询 public List findByNameAndInfo(Map map);}
@Servicepublic class GoodsServiceImpl implements GoodsService{ @Autowired GoodsRespository goodsRespository; //查询所有 @Override public ListfindAllGoods() { return goodsRespository.findAll(); } //新增或更新 @Override public int insertGoods(Goods goods) { Goods goods1 = goodsRespository.saveAndFlush(goods);//新增或更新,id为空新增,id不为空更新 if(goods1!=null){ return 1; } return 0; } //根据ID查询(注意) @Override public Goods findById(int id) { Optional byId = goodsRespository.findById(id); if(byId.isPresent()){ Goods goods=byId.get(); return goods; } return null; } //根据name查询 @Override public List findByName(String name) { return goodsRespository.findByName(name); } //根据ID删除 @Override public int delete(Map map) { Integer id = (Integer) map.get("id"); try { goodsRespository.deleteById(id); return 1; }catch (Exception e){ e.printStackTrace(); return 0; } } //根据name和info查询 @Override public List findByNameAndInfo(Map map) { String name= (String) map.get("name"); String info= (String) map.get("info"); List byNameAndInfo = goodsRespository.findByNameAndInfo(name, info); return byNameAndInfo; }}
@RestControllerpublic class GoodsController { @Autowired GoodsService goodsService; //查询所有 @RequestMapping("/findAllGoods") public ListfindAllGoods(){ return goodsService.findAllGoods(); } //新增或更新 @RequestMapping("/insertGoods") public int insertGoods(@RequestBody Goods goods){ return goodsService.insertGoods(goods); } //根据ID查询 @RequestMapping("/findById/{id}") public Goods findById(@PathVariable("id") int id){ return goodsService.findById(id); } //根据name查询 @RequestMapping("/findByName") public List findByName(@RequestBody Map map){ String name = (String)map.get("name"); return goodsService.findByName(name); } //根据name和info查询 @RequestMapping("/findByNameAndInfo") public List findByNameAndInfo(@RequestBody Map map){ return goodsService.findByNameAndInfo(map); } //根据ID删除 @RequestMapping("/delete") public int delete(@RequestBody Map map){ return goodsService.delete(map); }}
#端口号server.port=8088#数据库连接spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/qf?useUnicode=true&characterEncoding=utf8&useSSL=falsespring.datasource.username=rootspring.datasource.password=123456#mybatis 给别名mybatis.type-aliases-package=com.wo.pojomybatis.mapper-locations=classpath:mapper/*Mapper.xml#视图解析spring.mvc.view.prefix=/WEB-INF/spring.mvc.view.suffix=.jsp#JPA的配置spring.jpa.database=mysql#是否来展示执行的SQLspring.jpa.show-sql=true#是否自动生来生成表或者字段spring.jpa.generate-ddl=true
转载地址:http://dcezi.baihongyu.com/