zoukankan      html  css  js  c++  java
  • ibatis 映射文件详解

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sqlMap
    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-2.dtd"
    >
    <sqlMap namespace="User">
    <!-- 定义该映射文件的Cache机制 -->
    <cacheModel type="LRU" id="userCache">
    <!-- 设定缓存存活的时间 -->
    <flushInterval hours="24"/>
    <!-- 设定指定的操作,清空缓存 -->
    <flushOnExecute statement="updateUser"/>
    <!-- 设定缓存的容量(对象) -->
    <property name="size" value="1000"/>
    </cacheModel>
    <!-- 定义别名 -->
    <typeAlias alias="user" type="com.wyq.pojo.User"/>
    <!-- 通过缓存可以提高查询效率 -->
    <select id="getUsers"
    parameterClass
    ="java.lang.Integer"
    resultClass
    ="user" cacheModel="userCache">
    <!-- 采用!【DATA[]】格式,是为了避免sql重的字符与xml映射文件的合法性造成影响 -->
    <![CDATA[
    select id,name,sex from t_user
    ]]>
    </select>
    <update id="updateUser" parameterClass="user">
    <![CDATA[
    update t_user set name=#name#,sex=#sex# where id=#id#
    ]]>
    </update>
    <insert id="insertUser" parameterClass="user">
    insert into t_user(name,sex) values(#name#,#sex#)
    </insert>
    <delete id="deleteUser" parameterClass="java.lang.String">
    delete from t_user where id=#value#
    </delete>
    </sqlMap>

    注意点:

    1 --

    对于参数定义,尽量使用parameterClass,即直接将pojo作为statement的调用参数,如果输入的参数是java.util.map,那么map中的键值将作为输入参数,普通基本类型就是直接输入

    2--

    对于返回结果而言,尽量也使用resultClass,直接将字段名与pojo相对应(??????)

    3--

    而parameterMap与resultMap实现了pojo到数据库字段的映射配置,parameterMap 使用较少,而resultMap 则大多用于嵌套查询以及存储过程的

  • 相关阅读:
    三个Bootstrap免费字体和图标库
    前端实时消息提示的效果-websocket长轮询
    带分页的标签
    VMware-workstation安装
    摄影/肥猫的大头贴
    Smith Numbers(分解质因数)
    C
    B
    Ball
    Property Distribution(DFS)
  • 原文地址:https://www.cnblogs.com/bukudekong/p/2436401.html
Copyright © 2011-2022 走看看