Mybatis框架简介
mybatis是一个开源的数据持久层框架,内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询,存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。
框架搭建
首先我们要新建一个工程。
下载需要的JAR包
Mybatis的官网可以下载到最新发布版本的Mybatis。下载好之后进行部署,将下载好的jar包复制到建好的工程WEB-INF下的lib目录中。
创建核心配置文件
在工程目录之下新建Source Folder类型的resources目录,并在这个目录下面添加Mybatis的核心配置文件,默认取名为“mybatis-config.xml”。配置文件需要配置数据库连接信息和Mybatis的参数,代码如下:
<? xml version="1.0" encoding="UTF-8" ? >
<! DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<! -- 引入database.properties文件-->
<properties resource="database.properties"/>
<! -- 配置mybatis的log实现为LOG4J -->
<settings>
<setting name="logImpl" value="LOG4J" />
</settings>
<! -- 配置mybatis多套运行环境 -->
<environments default="development">
<environment id="development">
<! --配置事务管理,采用JDBC的事务管理 -->
<transactionManager type="JDBC"></transactionManager>
<! -- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<! -- 将mapper文件加入配置文件中 -->
<mappers>
<mapper resource="cn/smbms/dao/user/UserMapper.xml"/>
</mappers>
</configuration>
创建持久化类(POJO)和 SQL映射文件
在实际应用之中持久化类常常对应需求之中的业务实体,属于不继承和实现任何特殊Java基类或接口的普通Java类。它对于属性进行封装通过get/set进行读写访问。我们以用户类为例:
public class User{
//属性
private int id;
private String name;
private String password;
//get set方法,用于访问属性
此处省略
}
接下来我们就要创建SQL映射文件,这是一个XML文件,取名为“UserMapper.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="cn.smbms.dao.user.UserMapper">
<! -- 查询用户表记录数 -->
<select id="count" resultType="int">
select count(1) as count from smbms_user
</select>
</mapper>
SQL映射文件一般对应于相应的实体类,所以常常以实体类名+Mapper的规则来进行命名。其中各个元素的含义如下:
- mapper:映射文件的根元素节点,只有一个namespace属性,用于区分不同的mapper,全局唯一。
- select:表示查询语句,是Mybatis常用元素,常用属性有id属性是该命名空间下的唯一标识符,resultType属性表示SQL语句的返回值类型。
最后我们需要创建测试类,进行测试。至此基本的Mybatis的框架就搭建完了。