博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot3-整合spring Data JPA
阅读量:3961 次
发布时间:2019-05-24

本文共 6286 字,大约阅读时间需要 20 分钟。

目录

1.JPA

自动生成数据库表,提供简单的增删改查方法

在这里插入图片描述

2.项目目录

在这里插入图片描述

3.pom.xml

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

4.pojo 自动创建表

@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;}

5.dao 提供简单的增删改查

//JPA应用,不用写简单的增删改查public interface GoodsRespository extends JpaRepository
{
//实体类名称和主键类型 //findBy===where name=#{name} List
findByName(String name); List
findByNameAndInfo(String name,String info);}

提供的源码

@NoRepositoryBeanpublic interface JpaRepository
extends PagingAndSortingRepository
, QueryByExampleExecutor
{
List
findAll(); List
findAll(Sort var1); List
findAllById(Iterable
var1);
List saveAll(Iterable var1); void flush(); S saveAndFlush(S var1); void deleteInBatch(Iterable
var1); void deleteAllInBatch(); T getOne(ID var1);
List findAll(Example var1); List findAll(Example var1, Sort var2);}

6.service及serviceimpl

public interface GoodsService {
//查询所有 public List
findAllGoods(); //新增 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 List
findAllGoods() {
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; }}

7.controller

@RestControllerpublic class GoodsController {
@Autowired GoodsService goodsService; //查询所有 @RequestMapping("/findAllGoods") public List
findAllGoods(){
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); }}

8.application.properties

#端口号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/

你可能感兴趣的文章
vim 常用命令
查看>>
golang 开源项目
查看>>
ubntu 开发服务进程
查看>>
linux 常用命令以及技巧
查看>>
记录1年免费亚马逊AWS云服务器申请方法过程及使用技巧
查看>>
golang文章
查看>>
Source Insight 经典教程
查看>>
快速打开菜单附件中的工具
查看>>
Windows系统进程间通信
查看>>
linux exec的用法
查看>>
C语言中如何使用宏
查看>>
Http与RPC通信协议的比较
查看>>
Source Insight的对齐问题
查看>>
ubuntu设置开机默认进入字符界面方法
查看>>
chrome 快捷键
查看>>
Linux下buffer和cache的区别
查看>>
程序员不应该再犯的五大编程错误
查看>>
[转载][转帖]Hibernate与Sleep的区别
查看>>
Linux系统的默认编码设置
查看>>
Linux系统调用
查看>>