本节我们来使用SpringBoot整合JPA。JPA,简称Java Persistence API,是JAVA提供的一套数据持久API。在整合之前,我们要知道一下Spring Data。SpringData是什么?SpringData是一个数据访问编程模型,提供jdbc、hibernate、mybatis、nosql等支持,扩展,抽象,方便开发者使用。
1、准备依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2、配置数据源
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=12345
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3、准备实体映射
/**
* @author 小吉
* @description 用户实体
* @date 2020/6/15
*/
@Entity(name = "t_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
// @Column(name = "name")
private String name;
// @Column(name = "age")
private Integer age;
//getter/setter
}
4、编写数据访问接口
/**
* @author 小吉
* @description
* @date 2020/6/15
*/
@Repository
public interface UserDao extends JpaRepository<User, Integer> {
}
5、单元测试
SpringBoot启动类
/**
* @author 小吉
* @description
* @date 2020/6/15
*/
@Repository
public interface UserDao extends JpaRepository<User, Integer> {
}
/**
* @author 小吉
* @description springboot集成JPA
* @date 2020/6/15
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserDaoTest {
@Autowired
private UserDao userDao;
@Test
public void testSave(){
User user = new User();
user.setName("王二狗");
user.setAge(6);
userDao.save(user);
}
@Test
public void testFind(){
Optional<User> userOptional = userDao.findById(5);
if(userOptional.isPresent()){
User user = userOptional.get();
System.out.println("name:" + user.getName() + ",age:" + user.getAge());
}
}
}
执行testSave()方法后能够插入我们准备的记录。
执行testFind()方法后查询。