SpringBoot集成JPA持久层框架,简化数据库操作

SpringBoot集成JPA持久层框架,简化数据库操作

Java 语言(一种计算机语言,尤用于创建网站)持久性应用程序接口意即Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)持久化API,是太阳官方在JDK5.0后提出的Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)持久化规范。主要是为了简化持久层开发以及整合ORM技术,结束冬眠、TopLink、JDO等ORM框架各自为营的局面作业的装配区(JobPackArea)是在吸收现有ORM框架的基础上发展而来,易于使用,伸缩性强。

目录

与跳靴2.0整合1、核心依赖2、配置文件3、实体类对象

4、JPA框架的用法

5、封装一个服务层逻辑测试代码块源代码地址

与跳靴2.0整合

1、核心依赖

!- JPA框架-

属国

groupIdorg.springframework.boot/groupId

artifact id spring-boot-starter-data-JPA/artifact id

/依赖关系

2、配置文件

春天:

应用:

名称:node09-boot-jpa

数据源:

网址:JDBC:MySQL://localhost:3306/data _ JPA?使用unicode=true字符编码=UTF-8 allowmultiqueries=true

用户名:根

密码:根

驱动程序类名称:com。MySQL。JDBC。驾驶员

jpa:

休眠:

DDL-自动:更新

显示-sql:true

DDL-自动几种配置说明

1)创建

每次加载冬眠时都删除上一次的生成的表,然后根据豆类重新来生成新表,容易导致数据丢失,(建议首次创建时使用)。

2)创建-删除

每次加载冬眠时根据豆类生成表,但是会议工厂一关闭,表就自动删除。

3)更新

第一次加载冬眠时根据豆类会自动建立起表的结构,以后加载冬眠时根据豆类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。

4)验证

每次加载冬眠时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

3、实体类对象

就是根据这个对象生成的表结构。

@Table(name=t_user )

@实体

publicclassUser{

@Id

@GeneratedValue

privateIntegerid

@列

privateStringname

@列

私人集成电路

//省略获取集

}

4、JPA框架的用法

定义对象的操作的接口,继承JpaRepository核心接口。

导入com。靴子。JPA。实体。用户;

导入组织。spring框架。数据。JPA。知识库。JPA存储库;

导入组织。spring框架。数据。JPA。知识库。查询;

导入组织。spring框架。数据。知识库。查询。param

导入组织。spring框架。刻板印象。知识库;

@仓库

公共接口ueserrepositoryextendsjparepositoryuser,Integer{

//但条件查询

UserfindByAge(整数年龄);

//多条件查询

UserfindByNameAndAge(字符串名,整数年龄);

//自定义查询

@ Query( fromuseruwhereu。name=:name )

UserfindSql(@ Param( name )字符串名称);

}

5、封装一个服务层逻辑

导入com。靴子。JPA。实体。用户;

导入com。靴子。JPA。知识库。用户存储库;

导入组织。spring框架。刻板印象。服务;

导入javax。注释。资源;

@服务

publicclassUserService{

@资源

privateUserRepositoryuserRepository;

//保存

publicfoidadduser(用户用户){

用户存储库. save(用户);

}

//根据年龄查询

public userfindbyage(整数年龄){

返回用户存储库。findbyage(年龄);

}

//多条件查询

publicUserfindByNameAndAge(string name,Integerage){

返回用户存储库。findbynameandage(姓名,年龄);

}

//自定义结构化查询语言查询

publicUserfindSql(Stringname){

返回用户存储库。查找SQL(名称);

}

//根据身份证明修改

publicvoidupdate(Useruser){

用户存储库. save(用户);

}

//根据身份证明(识别)删除一条数据

publicviddeletedstudentbyid(整数id){

用户存储库。删除byid(id);

}

}

测试代码块

导入com。靴子。JPA。JPA申请;

导入com。靴子。JPA。实体。用户;

导入com。靴子。JPA。服务。用户服务;

导入组织。朱尼特。测试;

导入组织。朱尼特。奔跑者。与.一起跑;

导入组织。spring框架。靴子。测试。语境。弹簧靴测试;

导入组织。spring框架。测试。语境。JUnit 4。春天JUnit 4级跑者;

导入javax。注释。资源;

@ run with(spring JUnit 4 class runner。类)

@ spring boot test(classes=JPA application。类)

publicsclassuserjpatest {

@资源

privateUserServiceuserService

@测试

publicfoidadduser(){

user user=new user();

user.setName(知了一笑);

用户。setage(22);

userService.addUser(用户);

用户user 1=新用户();

用户1。setname(蝉);

用户1。筛分(23);

userService.addUser(用户1):

}

@测试(测试)

pubvoidfindbyage()>

积分=22;

//用户{id=3,name=知了一笑,年龄=22}

系统。出去。println(用户服务。findbyage(年龄));

}

@测试(测试)

pubwidfindbynameandage()=>

系统。出去。println(用户服务。findbynameandage( cida ,23));

}

@测试(测试)

pubvoidfindsql()

//用户{id=4,name= cycle ,age=23}

系统。出去。println(用户服务。findsql(蝉);

}

@测试(测试)

publivoidupdate()& gt;

useruser=newuser():

//如果这个主键不存在,会以主键自增的方式新增入库

用户。setid(3);

user.setName(哈哈一笑);

用户.筛分(25);

userService.update(用户):

}

@测试(测试)

publiciedetectstudentaboyid()& gt;

用户服务。deletestudentaboyid(5);

}

}

源代码地址

吉卜赛人地址:知了一笑

github街339号。com/cicadsmile/spring boot base

码云地址:知了一笑

339吉提。com/cicadsmile/spring-boot base

以上就是跳船集成作业的装配区(JobPackArea)号航空母舰持久层框架,简化数据库操作的详细内容,更多关于跳船集成作业的装配区(JobPackArea)号航空母舰持久层框架的资料请关注我们其它相关文章!

SpringBoot集成JPA持久层框架,简化数据库操作