由于我们平常都是使用的mybatis,最近接触到一个jpa的,听到是jpa,我脑子里一下想到的就是Hinernate,下面能,就讲一讲springboot整合jpa的流程。
首先我们新建一个maven的工程!
1.接下来添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--数据库驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
2.增加我们的配置文件application.properties
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.show-sql=true
3.接下来新建我们的实体类
package com.test.jpa.pojo;
import lombok.Data;
import javax.persistence.*;
@Data
@Entity
@Table(name="user")
public class User {
@Id
@GeneratedValue // 自动生成
private Long id ;
@Column(name = "name")
private String name ;
@Column(name = "sex")
private String sex;
}
4.创建dao持久层
public interface UserDao extends JpaRepository<User,Long> {
User findBysex(String sex);
}
这里我们继承了JpaRepository接口,指定了需要操作的实体对象和实体对象的主键类型,我们查看它的源码可以发现,里面继承了很多方法供我们去选择。
5、Service层
public interface UserService {
List<User> findBysex(String sex);
}
6.实现类
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List<User> findBysex(String sex) {
return userDao.findBysex(sex);
}
}
最后一步,编写我们的controller层
@RestController
@RequestMapping("test")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public List<User> findAll(String sex) {
return userService.findBysex(sex);
}
}
最后附上查询出来的结果图
到此,srpingboot整合jpa就结束了