Mybatis笔记

一、MyBatis 介绍 MyBatis 是一个优秀的基于 Java 的持久层框架(是一个DAO层的框架),它内部封装了 JDBC,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。

MyBatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 Java 对象和 statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句。最后 MyBatis 框架执行 sql 并将结果映射为 Java 对象并返回。

MyBatis 的过去: MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code ,并且改名为MyBatis。2013年11月迁移到Github。

名字由来:iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。

优点: 采用 ORM 思想解决了实体和数据库映射的问题,对 JDBC 进行了封装,屏蔽了 JDBC API 底层访问细节,使我们不用与 JDBC API 打交道,就可以完成对数据库的持久化操作。

二、入门 MyBatis 前面的介绍我们提到了DAO层、JDBC、sql语句本身、映射等。下面来简单说说使用 MyBatis 的六大步骤:

① 添加 MyBatis 的坐标

② 创建 user 数据表

③ 编写 User 实体类

④ 编写映射文件 UserMapper.xml

⑤ 编写核心配置文件 SqlMapConfig.xml

⑥ 编写 DAO 层,使用动态代理实现

第①步中的“坐标”就相当于是在引入jar包,假设我们是用 Maven 进行的开发,那么可以在 pox.xml 文件中写你需要的 MyBatis 依赖,示例如下:

<dependencies> 
…… 
<dependency> 
<groupId>org.mybatis</groupId> 
<artifactId>mybatis</artifactId>
 <version>3.5.5</version> 
</dependency> 
…… 
</dependencies>

第②、③步创建数据表和实体类不用多说。

第④步提到了映射文件:UserMapper.xml,该文件的名字一般由实体类+Mapper组成,文件里面是sql语句,相当于 DAO 层接口的实现类。但这个文件的存放位置有点讲究,它在resource目录下的某个包里,这个包名必须跟实体类的包名同步,举例说明,实体类 User.java 放在 com..domain 下,那么映射文件 UserMapper.xml 的包名得是 com..mapper 。映射文件中的sql语句的参数不再用?做占位符了,写法变为 #{实体类属性名} 。

第⑤步是编写核心配置文件:SqlMapConfig.xml,里面是数据库连接的四要素、事务管理器等。它直接放在resource目录下即可。

第⑥步编写DAO层接口,并使用动态代理的方式编写测试类,有四个点需要注意:

1、映射文件中的namespace与接口类的全限定名相同;

2、接口类中的方法名要和映射文件中定义的每个sql的id值相同;

3、接口类中的方法的输入参数类型要和映射文件中定义的每个sql的parameterType的类型相同;4、接口类中的方法的输出参数类型要和mapper.xml中定义的每个sql的resultType的类型相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值