MyBatis的前身叫iBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射。
Mybatis的功能架构分为三层:
1) API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
2)数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
3)基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
Mybatis的配置文件(xxx.xml)可以如下配置:
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/> (value内部写自己使用的数据库驱动)
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/> (value内部写自己使用的数据库JDBC地址)
<property name="username" value="scott"/> (value内部写自己使用的数据库账号)
<property name="password" value="123456"/> (value内部写自己使用的数据库登录密码)
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/onlinebusiness/dao/PhoneInfoDAO.xml"/> (痛过mapper加载映射文件,全限定类名)
<mapper resource="com/onlinebusiness/dao/BillInfoDAO.xml"/>
</mappers>
</configuration>
映射文件的例子:
<?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="com.onlinebusiness.dao.PhoneInfoDAO">
(查询输入帐号密码是否与数据库一致)
<select id="login" parameterType="com.onlinebusiness.bean.PhoneInfo" resultType="int">
select count(phoneno) from phoneinfo where phoneno=#{phoneno} and password=#{password}
</select>
</mapper>