关于mybatis:关于mybatis

5次阅读

共计 1741 个字符,预计需要花费 5 分钟才能阅读完成。

mybatis 框架的简介和劣势

MyBatis 本是 apache 的一个开源我的项目 iBatis,2010 年这个我的项目由 apache software foundation 迁徙到了 google code,并且改名为 MyBatis。2013 年 11 月迁徙到 Github。Mybatis 是一个优良的长久层框架,他对 jdbc 操作数据库的过程进行了封装,使咱们只须要关注 Sql 语句自身,不须要破费精力去解决例如注册驱动、创立 connection(连贯)、创立 statement(申明)、手动设置参数、后果集检索等繁琐的过程代码。mybatis 通过 xml 或注解的形式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中的 sql 进行映射生成最终 sql 语句,最初由 mybatis 框架执行 sql 并将后果映射成 java 对象并返回。

MyBatis 架构图


(1)mybatis-config.xml 是 MyBatis 框架的外围配置文件, 通过其中的配置能够生成 SqlSessionFactory,也就是工厂。
(2)基于 SqlSessionFactory 能够生成 SqlSession 对象
(3)SqlSession 是一个既能够发送 SQL 去执行,并返回后果的对象
(4)Executor 是 SqlSession 底层的对象,用于执行 SQL 语句
(5)MapperStatement 对象也是 SqlSession 底层的对象,用于接管输出映射(SQL 语句中的参数),以及做输入映射(行将 SQL 查问的后果映射成相应的后果)

配置及应用 MyBatis 框架

1. 创立 maven 工程,并在 pom.xml 中导入所需 jar 包(mybatis、mysql 启动等)[(https://mybatis.org/mybatis-3)MyBatis 官网地址, 留神版本]
2. 配置 MyBatis 全局配置文件 mybatis-config.xml(在 resource 源码文件夹下)

(1)头信息(验证 xml 文件的正确性)(2)配置数据库环境,是否应用连接池,Driver 类全类名,须要连贯的库,账户明码等
 能够把数据库的连贯信息独自拿进去,不便前期保护(更改明码等)在源码文件夹中创立.properties 的 File 文件,写入 Driver,url,username,password 等信息,在主配置文件 mybatis-config.xml 文件中导入文件,将主配置文件的 Driver 信息写成 ${}模式的占位符,名称和.properties 文件的信息对应(3)配置映射文件(mapper)

3. 配置映射文件 mapper

(1)增加头信息,束缚标准(2)在 <mapper> 标签下增加属性 namespace(命名空间)(3)在 <mapper> 标签外部书写 Sql 语句,例如
<select id="id 惟一" resultype="后果类型">
select * from 表名(能够应用占位符 ${})</select>

4. 在 java 文件夹中创立 Emp 类,用于封装查问后返回的对象,属性与数据库中各列的名字对应
5. 尝试连贯
一.(创立测试类后筹备工作,能够用 @Before 注解,在所有办法之前加载)

(1)读取 mybatis-config.xml 文件
InputStream in = Resource.getResourceAsStream("mybatis-config.xml")
(2)基于读取信息创立一个 SqlSessionFactory 对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
(3)基于 SqlSessionFactory 对象获取一个 SqlSession 对象
session = factory.openSession(true);//true 设置主动提交事务

二. 执行语句
应用 SqlSession 对象的 update 等办法,传入映射文件的 namespace. 语句 id 执行操作,如果语句中有占位符能够传入(namespace.id,map),
map 用与封装多个占位符
返回后果影响行数或者查问后果,应用 foreach 遍历

正文完
 0