Mybatis概述

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)释放连接资源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容