IDEA 中创建Spring Data Jpa 项目的示例代码
一、IDEA创建工程
使用IDEA创建工程的过程,使用文字做简单描述。
- 选择工程类别【SpringInitializr】。
- 设置工程的元数据【Metadata】,根据自己的情况填写即可。
- 设置工程的依赖;在【Web】中选择“SpringWeb”;在【SQL】中选中“SpringDataJPA”、“SpringDataJDBC”、“MySQLDriver”、“JDBCAPI”。选中的可能有些多,如果多了自己删除掉。
做完最后一步,工程就创建完成了。
PS:在配置IEAD中的Maven功能时,将“Alwaysupdatesnapshots”选中,这样就会及时更新测试包,并且不缓存Maven的错误信息。
1.1、Pom文件中的依赖信息
org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-jdbc org.springframework.boot spring-boot-starter-web mysql mysql-connector-java runtime org.springframework.boot spring-boot-starter-test test
二、编辑配置文件
在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 publicclassUser{ @Id//表示这个属性是数据表中的主键 @GeneratedValue(strategy=GenerationType.IDENTITY)//还是一个自增的主键 privateIntegerid; @Column(name="last_name",length=50)//这是和数据表对应的一个列,可以定义其在数据表中的名字及长度 privateStringlastName; @Column//省略的情况,默认列名就是属性名 privateStringemail; }
使用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表示类的主键的类型 */ publicinterfaceUserRepositoryextendsJpaRepository { }
五、控制层
编写控制层代码来测试一下是否成功。因为没有界面,所以这边直接用@RestController注解来返回json串就好了,把持久层接口自动注入进来,直接调用其中对应的方法。
@RestController @EnableAutoConfiguration publicclassUserController{ @Autowired UserRepositoryuserRepository; @GetMapping("/user/{id}") publicUsergetUser(@PathVariable("id")Integerid){ Optionaloptional=userRepository.findById(id); if(optional.isPresent()){ Useruser=optional.get(); returnuser; }else{ returnnewUser(); } } @GetMapping("/user") publicUserinsertUser(Useruser){ Usersave=userRepository.save(user); returnsave; } }
六、测试
1.首先插入一条数据:
地址栏输入:http://localhost:8080/user?lastName=zhangsan&email=aa
2、查询:
地址栏输入:http://localhost:8080/user/1
到此这篇关于IDEA中创建SpringDataJpa项目的示例代码的文章就介绍到这了,更多相关IDEA创建SpringDataJpa项目内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!