这篇文章主要介绍“MyBatis集成方法是什么”,在日常操作中,相信很多人在MyBatis集成方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MyBatis集成方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!MyBaits
是一个著名的持久层框架,本文首先介绍了MyBatis
的简单使用,接着与Spring
进行整合,最后简单地使用了Generator
去自动生成代码。MyBatis
本来是Apache
的一个开源项目——iBatis
,2010年由Apaceh Software Foundation
迁移到了Google Code
,并改名为MyBatis
。MyBatis
是一个基于Java
的持久层框架,提供的持久层框架包括SQL Maps
和Data Access Objects
,使用简单的XML
或者注解用于配置映射,将接口和POJO
映射成数据库中的记录,是一个小巧、方便、高效、简单、直接、半自动化的持久层框架。上图:读取配置文件:mybatis-config.xml
是全局MyBatis
配置文件,配置了MyBatis
运行环境信息加载映射文件:也就是SQL
映射文件,配置了操作数据库的SQL
语句构造会话工厂:通过配置文件构造会话工厂SqlSessionFactory
创建会话对象:由上一步的会话工厂创建会话对象SqlSession
获取MapperStatement
:通过用户调用的api
的Statement ID
获取MapperStatement
对象输入参数映射:通过Executor
对MapperStatement
进行解析,将各种Java
基本类型转化为SQL
操作语句中的类型输出结果映射:JDBC
执行SQL
后,借助MapperStatement
的映射关系将返回结果转化为Java
基本类型并返回首先先来看一下纯MyBaits
的示例,没有整合Spring
,一个简单的Maven
工程,项目结构如下:Gradle
:新建一个叫UserMapper.xml
的映射文件:映射文件是一个XML
文件,根元素为
,需要注意其中的namespace
属性,调用的时候通过该namespace
调用。其中的子元素表示SQL
语句::查询,
id
指定了这条语句的id
号,调用时通过namespace.id
的方式调用,比如该条select
需要通过UserMapper.selectById
调用,parameterType
指定参数类型,这里是一个Integer
的参数,resultType
指定返回类型,实体类
/
/
:对应的插入/修改/删除语句关于占位符:#{}
表示是占位符,相当于传统JDBC
中的?
,#{id}
表示该占位符等待接收的参数名称为id
MyBatis
的配置文件,叫mybatis-config.xml
:指定了数据库的一些连接属性还有mapper
的位置。主要流程如下:读取配置文件:根据org.apache.ibatis.io.Resources
读取配置文件mybatis-config.xml
,请注意配置文件的位置正确,这里的配置文件都放在resources
下,mybatis-config.xml
放在其中的config
下构建Session
:根据配置文件构建SqlSessionFactory
后,通过openSession
创建Session
业务操作:通过session
的selectOne/insert/update
等进行业务操作,这类操作带两个参数,第一个参数是String
,表示配置文件中的SQL
语句,采用namespace.id
的形式,比如这里的UserMapper.xml
中声明namespace
为UserMapper
,其中带有一条id
为selectById
的select
语句,因此调用时使用UserMapper.selectById
的形式,第二个参数是一个Object
,表示要传递的参数,也就是绑定到配置文件中对应占位符的值提交与关闭:业务操作完成后提交事务并关闭session
示例测试结果:上面的例子只是为了演示MyBatis
的基本使用,没有整合Spring
,这里的例子是把Spring
整合进来,流程也大概差不多,项目结构如下:分为5类JAR
:MyBatis
需要的JAR
Spring
需要的JAR
MyBatis
与Spring
整合的中间J 香港云主机AR
数据库驱动JAR
数据源JAR
完整依赖如下:Gradle
:配置文件分为三类:MyBatis
映射文件:编写mapper
的地方,也就是业务需要的SQL
语句MyBatis
全局配置文件:由于整合了Spring
,数据源的配置放在了Spring
的配置文件中,而只需要保留mapper
的查找位置Spring
配置文件:配置数据源+事务管理+MyBaits
的sqlSssionFactory
+组件扫描与上面的例子差不多,只是修改了namespace
为包名.类名
的形式:namespace
需要与对应包名的带有@Mapper
的类配置一致。需要加上@Mapper
注解,表示自动装配为MyBatis
的映射接口,注意:映射文件中的namespace
需要与包名.类名
对应,比如这里的包为pers.dao
,类名为UserDao
,那么映射文件中的namespace
为pers.dao.UserDao
id
需要与方法名对应,比如映射文件中的有一条select
语句的id
为selectById
,那么方法就需要命名为selectById
,且参数类型需要对应一致注入UserDao
后进行简单的测试,结果如下:相信很多程序员也讨厌写又长又麻烦的XML
配置文件,因此,MyBatis
也提供了一个生成器插件,可以直接从表中生成实体类、dao
接口以及映射文件,可以省去很多操作。步骤如下:导入依赖编写Generator
配置文件生成代码其实就是加入一个插件:数据库驱动请对应修改。至于Gradle
版请看Kotlin
版源码。这里是参考别人的配置文件,修改数据库连接、表名、包名即可:双击生成即可:生成了实体类、dao
接口以及mapper
文件。到此,关于“MyBatis集成方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注开发云网站,小编会继续努力为大家带来更多实用的文章!
这篇文章给大家介绍ZooKeeper分析是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。分布式系统是同时跨越多个物理主机,独立运行的多个软件所组成的系统。在这样的分布式系统中,如何保证节点信息同步和共享便是一个麻烦的事情,而Zoo…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。