SpringBoot整合JPA基本步骤

用了一段时间的JPA,相比MyBatis来说使用JPA代码真的是简洁了不少。
以下为创建一个SpringBoot+JAP的入门项目的步骤。

  • 我们先创建一个数据库备用,数据库的名字叫:db_jpa
       
  • 创建一个SpringBoot项目
  • 在pom文件中引入以下依赖
	<!-- jpa依赖 -->
	<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

	<!-- java连接mysql依赖 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        
	<!-- druid连接池依赖 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.9</version>
        </dependency>
  • 在全局配置文件中配置数据库与连接池
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_jpa
spring.datasource.username=连接数据库的用户名
spring.datasource.password=用户口令
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  • 在全局配置文件中配置JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

spring.jpa.hibernate.ddl-auto=update的作用:每次运行程序,没有表格会新建表格;有表格,表内有数据不会清空,只会更新
spring.jpa.show-sql=true的作用:在控制台显示SQL语句

  • 创建一个POJO类映射数据库中的表
  • @Entiy:说明这是一个POJO类
  • @Table:指明这个类和数据库中哪张表映射
  • @Id:表示这个属性在表中是主键
  • @GeneratedVlue:说明了主键的生成方式
  • @Column:指定这个属性和表中哪个字段对应
  • @Data:这是lombok工具的一个注解本身和JPA没有关系,这里我用这个注解添加getter与setter方法,你也可以把这个注解删掉然后手动添加getter与setter方法。(PS:在用JPA生成一对多关系时使用@Data产生了循环查询的异常,不知道为什么,但这与这个基本的项目无关。)
  • 创建一个接口继承JpaRepository,继承的这个接口需要指定两人个范型,第一个是要操作的POJO类,第二个是主键的类型。在接口中先不写任何方法。
       
  • 有了接口后我们就可以通过这个接口调用方法来操数据库了
  • 我们编写一个测试的控制器类,在这个类中用@Autowired注入一个接口的对象,然后用这个接口调用save()方法存入一个User对象,具体代码如下。
  • 启动项目,在启动项目的过程中就会在数据库中创建表,可以在控制台看到建表语句
  • 使用浏览器发送请求
  • 在数据库中查看是否存入
    可以看到是成功的。

下载这个项目,github:https://github.com/Disciplining/SpringBoot-JPA

猜你喜欢

转载自blog.csdn.net/Sacredness/article/details/83119577