1.什么是Mybatis
MyBatis 是支持普通 SQL查询,存储过程和和高级映射的优秀持久层框架。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。
2.导入相关包
以Myeclipse作为开发工具,创建一个web工程,将MyBatis的jar包导入在WebRoot\WEB-INF\lib目录下即可。
3.配置流程
使用MyBatis最主要的是对xml文件的配置。首先应该加载的是总配置文件Configuration.xml。Configuration.xml文件包含了数据库的信息,即数据库的驱动、JDBC连接数据库时的url、数据库用户名以及密码。还有对其他sql映射文件(User.xml)的路径放在mappers标签中。MyBatis可以通过相应的方法读取Configuration.xml中关于数据信息的语句,从而代替了以往在java代码中使用jdbc对数据库的连接。
<environments default="development">
<environment id="development">
<transactionManager type="JDBC">
<property name="" value=""/>
</transactionManager>
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/sql"/>
<property name="username" value="634839596"/>
<property name="password" value="DNFdmc2013"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="many/one/sql/Teacher.xml"/>
</mappers>
其次就是对sql映射文件的配置,该文件包含了数据库中相对应要执行的sql语句的表的具体信息,执行语句放在相应的标签中。将表具体信息放在resultMap映射集合中,resultMap中的column要与表中的列对应,property要与javaBean对应,jdbcType要与数据类型对应。执行sql语句后,将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean或者基本数据类型,并将最终结果返回。
<mapper namespace="many.one.mapper.TeacherMapper">
<resultMap type="many.one.entiry.Teacher" id="TeacherResult">
<id column="t_id" jdbcType="INTEGER" property="t_id" />
<result column="t_name" jdbcType="VARCHAR" property="username" />
<result column="t_password" jdbcType="VARCHAR" property="password" />
</resultMap>
<select id="Exist" resultMap="TeacherResult" resultType="many.one.entiry.Teacher">
select t_name,t_password
from teacher
<where>
and t_name=#{username}
</where>
</select>
4.处理流程
(A)根据SQL的ID查找对应的MappedStatement对象。
(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。
(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。
(E)释放连接资源。