ibatis映射文件的书写:
ibatis学习笔记(3)<?xml version="1.0" encoding="UTF-8"?>
ibatis学习笔记(3)
<!DOCTYPE sqlMap
ibatis学习笔记(3)PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
ibatis学习笔记(3)"http://www.ibatis.com/dtd/sql-map-2.dtd"
>
ibatis学习笔记(3)
<sqlMap namespace="User">
ibatis学习笔记(3)    
<!-- 定义该映射文件的Cache机制 -->
ibatis学习笔记(3)    
<cacheModel type="LRU" id="userCache">
ibatis学习笔记(3)        
<!-- 设定缓存存活的时间 -->
ibatis学习笔记(3)        
<flushInterval hours="24"/>
ibatis学习笔记(3)        
<!-- 设定指定的操作,清空缓存 -->
ibatis学习笔记(3)        
<flushOnExecute statement="updateUser"/>
ibatis学习笔记(3)        
<!-- 设定缓存的容量(对象) -->
ibatis学习笔记(3)        
<property name="size" value="1000"/>
ibatis学习笔记(3)    
</cacheModel>
ibatis学习笔记(3)    
<!-- 定义别名 -->
ibatis学习笔记(3)    
<typeAlias alias="user" type="com.wyq.pojo.User"/>
ibatis学习笔记(3)    
<!-- 通过缓存可以提高查询效率 -->
ibatis学习笔记(3)    
<select id="getUsers" 
ibatis学习笔记(3)    parameterClass
="java.lang.Integer"
ibatis学习笔记(3)    resultClass
="user" cacheModel="userCache">
ibatis学习笔记(3)    
<!-- 采用!【DATA[]】格式,是为了避免sql重的字符与xml映射文件的合法性造成影响 -->
ibatis学习笔记(3)    
<![CDATA[
ibatis学习笔记(3)    select id,name,sex from t_user
ibatis学习笔记(3)    
]]>
ibatis学习笔记(3)    
</select>
ibatis学习笔记(3)    
<update id="updateUser" parameterClass="user">
ibatis学习笔记(3)        
<![CDATA[
ibatis学习笔记(3)            update t_user set name=#name#,sex=#sex# where id=#id#
ibatis学习笔记(3)        
]]>
ibatis学习笔记(3)    
</update>
ibatis学习笔记(3)    
<insert id="insertUser" parameterClass="user">
ibatis学习笔记(3)        insert into t_user(name,sex) values(#name#,#sex#)
ibatis学习笔记(3)    
</insert>
ibatis学习笔记(3)    
<delete id="deleteUser" parameterClass="java.lang.String">
ibatis学习笔记(3)        delete from t_user where id=#value#
ibatis学习笔记(3)    
</delete>
ibatis学习笔记(3)
</sqlMap>
ibatis学习笔记(3)
     
   <statement
        [parameterClass="some.class.Name"] //表示输入的参数类型为Class
        [resultClass="some.class.Name"] //表示输出的参数类型为Class
        [parameterMap="nameOfParameterMap"] //表示输入的参数类型为Map
        [resultMap="nameOfResultMap"] //表示输出的参数类型为Class
        [cacheModel="nameOfCache"]
        >
        select * from t_user where sex = [?|#propertyName#]
        order by [$simpleDynamic$]
    </statement>
1、对于参数定义,尽量使用parameterClass,即直接将pojo作为statement的调用参数,如果输入的参数是java.util.map,那么map中的键值将作为输入参数,普通基本类型就是直接输入。
2、对于返回结果而言,尽量也使用resultClass,直接将字段名与pojo相对应。
3、而parameterMap与resultMap实现了pojo到数据库字段的映射配置,parameterMap 使用较少,而resultMap 则大多用于嵌套查询以及存储过程的
ibatis学习笔记(3)<resultMap id="get_user_result" class="user">
ibatis学习笔记(3)
<result property="name" column="xingming"
ibatis学习笔记(3)jdbcType
="VARCHAR" javaType="java.lang.String"/>
ibatis学习笔记(3)
<result property="sex" column="xingbie"
ibatis学习笔记(3)jdbcType
="int" javaType="java.lang.Integer"/>
ibatis学习笔记(3)
<result property="id" column="id"
ibatis学习笔记(3)jdbcType
="int" javaType="java.lang.Integer"/>
ibatis学习笔记(3)
</resultMap>
ibatis学习笔记(3)
<parameterMap id="update_user_para" class="redemption" >
ibatis学习笔记(3)
<parameter property="name"
ibatis学习笔记(3)jdbcType
="VARCHAR"
ibatis学习笔记(3)javaType
="java.lang.String"
ibatis学习笔记(3)nullValue
=""
ibatis学习笔记(3)
/>
ibatis学习笔记(3)
<parameter property="sex"
ibatis学习笔记(3)jdbcType
="int"
ibatis学习笔记(3)javaType
="java.lang.Integer"
ibatis学习笔记(3)nullValue
=""
ibatis学习笔记(3)
/>
ibatis学习笔记(3)
</parameterMap>
ibatis学习笔记(3)
<procedure id="getUserList"
ibatis学习笔记(3)resultMap
="get_user_result"
ibatis学习笔记(3)
>
ibatis学习笔记(3){call sp_getUserList()}
ibatis学习笔记(3)
</procedure>
ibatis学习笔记(3)
<procedure id="doUserUpdate"
ibatis学习笔记(3)parameterMap
="update_user_para"
ibatis学习笔记(3)
>
ibatis学习笔记(3){call sp_doUserUpdate(#id#,#name#,#sex#)}
ibatis学习笔记(3)
</procedure>

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-28
  • 2021-09-18
  • 2021-10-10
  • 2022-01-14
  • 2021-07-02
  • 2021-10-05
猜你喜欢
  • 2021-06-27
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案