Hibernate 与 Mybatis 如何共存?打破你的认知!
共 4184字,需浏览 9分钟
·
2020-07-27 19:17
Java技术栈
www.javastack.cn
关注阅读更多优质文章
很长一段时间,网上有很多关于Hibernate与Mybatis孰优孰劣的争论,两个阵营的人谁也不能说服谁,每个人的理由都很有道理。
今天,我分享的主题是:在一个项目中同时使用Hibernate和Mybatis两个ORM框架。
一、准备开发环境
如果你想成功运行本文中的源代码,需要满足一下的几个条件:
1、JDK : JDK 1.8.x及以上版本
2、Maven : Maven 3.x或更高版本
3、Git:版本控制工具,选择一个你喜欢的
4、IDE : 选择你比较喜欢的一个代码编辑器,如STS、IntelliJ IDEA。笔者使用的是IntelliJ IDEA
5、Databases : 选择一个你熟练使用的数据库系统。笔者在本文中使用的是MySQL 5.1.x版本的数据库系统
二、搭建项目
2-1、引入依赖
2-2、定义实体类-User.java
说明:
在本次演示的项目中,使用到了Lombok插件,它可以让开发者减少模板代码的书写,提高开发速度。@Data注解可以自动生成类属性的getter、setter和toString方法。@NoArgsConstructor会自动为类生成无参构造函数,@AllArgsConstructor则会生成带全部属性的构造函数。
2-3、定义数据持久化接口
说明:因为JPA只负责写操作,所以直接继承并使用JpaRepository提供的API即可,不需要额外的定义其他的接口方法。
说明:
此接口需要注意的地方是@Component和@Mapper注解,@Component注解标注此接口后,Spring会自动扫描并配置此类;@Mapper注解是把这个mapper的DAO交由Spring进行管理。
2-4、定义UserService
说明:
@Transactional注解用于设置每个方法的事务控制方式。@Service注解声明该类是一个服务提供类,且设置了该类被Spring初始化时Bean对象的名称为“userService”。
2-5、定义控制器
说明:
在本次教程中,为了编码IDEA报警告,所有的依赖注入都采用构造函数的方式注入相关的依赖。
三、配置Hibernate和Mybatis
四、测试
{
"username":"谭朝红",
"alias":"ramostear",
"age":28
}
{
"id": 3,
"username": "谭朝红",
"alias": "ramostear",
"age": 28
}
五、总结
版权申明:本作品系作者谭朝红原创 , 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
来源:segmentfault.com/a/1190000019476544
点击「阅读原文」获取面试题大全~