欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IDEA 中创建Spring Data Jpa 项目的示例代码

程序员文章站 2022-07-02 13:14:19
一、idea 创建工程使用idea 创建工程的过程,使用文字做简单描述。 选择工程类别【spring initializr】。 设置工程的元数据【metadata】,根据自己的情况填写即可。 设...

一、idea 创建工程

使用idea 创建工程的过程,使用文字做简单描述。

  • 选择工程类别【spring initializr】。
  • 设置工程的元数据【metadata】,根据自己的情况填写即可。
  • 设置工程的依赖;在【web】中选择“spring web”;在【sql】中选中“spring data jpa”、“spring data jdbc”、“mysql driver”、“jdbc api”。选中的可能有些多,如果多了自己删除掉。

做完最后一步,工程就创建完成了。

ps:在配置 iead 中的 maven 功能时,将“always update snapshots” 选中,这样就会及时更新测试包,并且不缓存maven 的错误信息。

1.1、pom 文件中的依赖信息

<dependencies>
 <dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-data-jpa</artifactid>
 </dependency>
 <dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-jdbc</artifactid>
 </dependency>
 <dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-web</artifactid>
 </dependency>

 <dependency>
 <groupid>mysql</groupid>
 <artifactid>mysql-connector-java</artifactid>
 <scope>runtime</scope>
 </dependency>
 <dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-test</artifactid>
 <scope>test</scope>
 </dependency>
</dependencies>

二、编辑配置文件

在 resources 目录中创建配置文件:application.yml;添加数据源等信息。

spring:
 datasource:
 url: jdbc:mysql://dbserver.com:3306/user?useunicode=true&characterencoding=utf-8
 username: username
 password: password
 driver-class-name: com.mysql.cj.jdbc.driver

server:
 port: 8080
 compression:
 enabled: true
 servlet:
 context-path: /

三、编写实体类

创建user的实体类 entity/user.java(省略了getter&setter方法;如果不写的话,会对数据操作失败)。

/**
 * 使用jpa注解配置映射关系
 */
@entity //告诉jpa这是一个实体类(和数据表映射的类)
@table(name = "tbl_user") //@table来指定和哪个数据表对应;如果省略,默认表名就是该类名的小写:user
public class user {
 @id //表示这个属性是数据表中的主键
 @generatedvalue(strategy = generationtype.identity) //还是一个自增的主键
 private integer id;
 @column(name = "last_name",length = 50) //这是和数据表对应的一个列,可以定义其在数据表中的名字及长度
 private string lastname;
 @column //省略的情况,默认列名就是属性名
 private string email;
}

使用jpa的一个好处就是,它能够根据实体类自动创建数据库表,只需简单配置几步即可:

在application.yml文件中增加(jpa 也是spring下的一个属性,所以它也是在spring这个层级下的):

jpa:
 hibernate:
 ddl-auto: update #定义数据表的生成策略。update:更新或者创建数据表结构
 show-sql: true #控制台显示sql语句

运行主程序,控制台会报错找不到对应的表,但是这实际上是正常的,去数据库看就可以发现名为tbl_user的表已经创建成功了,而且是根据实体类中的设置创建的。

四、持久层接口

jpa中有许多封装好的对数据库进行操作的方法,不需要我们再写sql语句,而是直接调用其中的方法,就可以完成对数据的操作了。而这时,持久层只需继承jparepository类就可以了。

/**
 * dao/userrepository.java
 * 继承jparepository来完成对数据库的操作
 * jparepository<t,id>,t表示要进行操作的实体类,id表示类的主键的类型
 */
public interface userrepository extends jparepository<user,integer> {
}

五、控制层

编写控制层代码来测试一下是否成功。因为没有界面,所以这边直接用@restcontroller注解来返回json串就好了,把持久层接口自动注入进来,直接调用其中对应的方法。

@restcontroller
@enableautoconfiguration
public class usercontroller {
 @autowired
 userrepository userrepository;

 @getmapping("/user/{id}")
 public user getuser(@pathvariable("id") integer id) {
 optional<user> optional = userrepository.findbyid(id);
 if (optional.ispresent()) {
 user user = optional.get();
 return user;
 } else {
 return new user();
 }
 }

 @getmapping("/user")
 public user insertuser(user user) {
 user save = userrepository.save(user);
 return save;
 }
}

六、测试

1.首先插入一条数据:

地址栏输入 :http://localhost:8080/user?lastname=zhangsan&email=aa

2、查询:

地址栏输入 :http://localhost:8080/user/1

到此这篇关于idea 中创建spring data jpa 项目的示例代码的文章就介绍到这了,更多相关idea 创建spring data jpa 项目内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!