MyBatis学习-映射文件标签篇(select、resultMap)

MyBatis 真正的核心在映射文件中。比直接使用 JDBC 节省95%的代码。而且将 SQL 语句独立在 Java 代码之外,可以进行更为细致的 SQL 优化。

 

一、 映射文件的顶级元素

  • select:映射查询语句
  • insert映射插入语句
  • update:映射更新语句
  • delete:映射删除语句
  • sql:可以重用的sql代码块
  • resultMap:最复杂,最有力量的元素,用来描述如何从数据库结果集中加载你的对象
  • cache:配置给定命名空间的缓存
  • cache-ref:从其他命名空间引用缓存配置

 

二、select 标签的属性信息

<select
  

  id
="selectUser"

  
  parapeterType="int"

     resultType="hashmap"
  
     resultMap="USER_RESULT_MAP"
  
     flushCache="false"

     useCache="true"

     timeout="10000"

     fetchSize="256"

     statementType="PREPARED"

     resultSetType="FORWORD_ONLY" >select>

 

三、resultMap 标签的属性信息


<resultMap type="" id="" extends="">  
     <id property="" column=""/>      <result property="" column=""/>      <constructor>      <idArg column=""/> <arg column=""/> constructor>   <collection property="" column="" ofType="" select="">
    
    <id property="" column=""/>
    <result property="" column=""/>
  collection>      <association property="" column="" javaType="" select="">
    
    <id property="" column=""/>
    <result property="" column=""/>
  association> resultMap>

 

四、insert 标签的属性信息

<insert
  
  id="insertProject"

  
  paramterType="projectInfo"   
  
  useGeneratedKeys
="true"

     keyProperty="projectId" >

 

五、重用 sql 标签

<sql id="userColumns">id,username,passwordsql>

这个 SQL 片段可以被包含在其他语句中,eg:

<select id="selectProjectList" paramertType="int" resultType="hashmap">
  SELECT 
      <include refid="userColumns"/>
  FROM 
      t_project_002_project_info
select>

 

六、完全限定名使用别名替代

在 mybatis 配置文件中,使用如下配置

<typeAliases>
    <typeAlias type="com.enh.bean.ProjectInfo" alias="projectInfo"/>
typeAliases>

那么在 Mapper 中,可以直接使用 projectInfo,即表示 com.enh.bean.ProjectInfo

 

七、命名空间

每个sql映射文件的要元素中,都需要指定一个名称空间,用以确保每个映射语句的id属性不会重复。如

<mapper namespace="com.enh.mapper.PersonMapper">

在Java代码中引用某个 sql 映射时,使用的亦是含有名称空间的全路径。如

session.update("com.enh.mapper.PersonMapper.udpateUser", user);  

 

转载于:https://www.cnblogs.com/libra0920/p/6208587.html

你可能感兴趣的:(MyBatis学习-映射文件标签篇(select、resultMap))