十一、SpringBoot整合JPA

​ 本节我们来使用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()方法后查询。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值