Spring Data JPA开发环境搭建
的有关信息介绍如下:目前开源的ORM框架中常用的有MyBatis、Hibernate、JPA等,MyBatis在处理POJO和SQL之间关系时非常灵活,使用起来简单,容易上手,非常适合普通的开发场景。Hibernate可以使用对象思维来操作数据库,有自己的HSQL查询语言,注重对象与对象之间的关系,并且是符合JPA规范的ORM框架,学习成本较高,很难上手,适合企业级应用的开发。Spring Data JPA底层是用Hibernate实现的,使用JPQL(Java Persistence Query Language)查询语言,是Spring生态体系的一部分,因为Spring Boot开箱即用的特性,使得Spring Data JPA的配置非常简单,不需要多余的配置文件,大大节省了开发效率。
在使用Spring Data JPA之前我们需要准备一个开发环境,即构建一个Spring Data JPA的工程,我们使用Maven管理jar包,因此,我们需要引入以下的依赖。spring-boot-starter-parent是必不可少的,然后是jpa的依赖,如果使用tomcat启动的话web依赖是必不可少的,然后是mysql和druid连接池的依赖,如下图所示。
接下来是两个常用的工具,fastjson用于json和对象之间的转换,lombok可以帮助我们自动生成Java对象(POJO)中的代码,如getter/setter等,注意在IDE中使用时需要安装插件,此处不再详细介绍了。builder用于项目的打包配置,我们使用maven插件进行打包。
项目的依赖配置好之后,我们需要准备数据库开发环境,使用mysql数据库,记住数据库的用户名和密码,我们创建一个新的数据库,并在数据库中创建user表,如下图所示,注意编码是utf8,否则在数据录入中文时可能会有问题。
接下来就是application.yml文件的配置了,这是默认的配置文件,我们在该配置文件中配置数据库和连接池的信息,然后是jpa的配置,我们将show_sql设置为true,在开发阶段可以这样设置,方便我们查看执行的sql,生产环境尽量避免这样设置,会使日志记录过多。
配置完成后,接下来准备开发的实体类,我们创建User实体类,该实体类中有id,name,age三个属性,id上的注解为Spring Data JPA的注解,表明这是一个主键id,并且是自增序列。类上的@Entity注解表明这是一个JPA的实体类,@Table(name = "user",catalog = "test_user"),括号中可以指定表明和数据库名,这个注解可以省略,若不指定则会默认使用类名,其他字段也是,如果不加@Column注解,则默认使用字段名驼峰转下划线,作为数据库中字段名。@Data注解是上面说的lombok带的,帮我们自动生成了很多基础代码。
最后是Spring Boot的启动类,非常简单就不再多少了,注意一定要使用@SpringBootApplication注解即可。