创建实体类。
package dc.com.entity;
public class Users {
private long id;
private String name;
private String pass;
public long getId() { return id; }
public void setId(long id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getPass() { return pass;}
public void setPass(String pass) {this.pass = pass; }
}
My Batis 正强大之处在于它的映射语句,这也是它的魔力所在。 由于它的映射语句异常强大,映射器的 XML 文件就显得相对简单。
如果将其与具有相同功能的 JDBC 代码进行对比, 立刻就会发现,使用这种方法节省了将近 95% 的代码量。
MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好MyBatis 3.0 相比 2.0 版本的 个最大变化,就是支持使用接口来调用方法。
接下来看 看如何使用 MyBatis XML 方式。
首先,创建一个数据包qin.com.mapper,并在数据包中创建一个users数据表的接口UsersMapper.java,UsersMapper.java代码如下。
dc.com.mapper
UsersMapper {
}
我们的UsersMapper.java接口是空的。
第二,在resources中创建目录qin.com.mapper,并在mapper目录中下创建users数据表的xml文件,文件名为UsersMapper.xml,代码如下。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="qin.com.dao.UsersDao">
</mapper>
到这里UsersMapper.xml是也是空的。
当 mapper接口和xml文件关联的时候,命名空间manespace 值就需要配置成接口的全限定名称,例如 UserMapper 接口对应的 qin.com.dao.UsersMapper,mybatis 内部就是通过这个值将接口和XML 关联起来的。
项目的目录结构如下。
第三、在mybatis的主配置文件中的<mappers>标签中添加如下内容。
<mappers>
<!-- 映射文件地址要记住把映射文件所在数据包中的"."换成“/” -->
<mapper resource="dc/com/mapper/UsersMapper.xml" />
</mappers>
在主配置文件中,若<mappers>中映射的xml文件比较多,并且这些文件是在同一个数据包时我们可以这样来表示。
<mappers>
<package name="dc.com.mapper"/>
</mappers>
这种配置方式会先查找dc.com.mapper包下所有的接口,循环对接口进行如下操作。
1. 判断接口对应的命名空间是否己经存在,如果存不在就抛出异常,存在就继续进行接下来的操作。
2. 加载接口对应的xml映射文件 将接口全限定名转换为路径 例如将接口dc.com.mapper.UsersMapper转换为 dc/com.mapper/UserMapper.xml ,以xml为后缀搜索xml资源,如果找到就解析xml.
3. 处理接口中的注解方法。
因为这里的接口和 XML 映射文件完全符合上面操作的第2点,因此直接配置包名就能自动扫描包下的接口和 XML 映射文件,省去了很多麻烦准备好这切后就可以开始学习具体的用法了。