`
xulongfa
  • 浏览: 70838 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ibatis学习笔记(三)——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>

 <statement id="statementName"
        [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 则大多用于嵌套查询以及存储过程的

<resultMap id="get_user_result" class="user">
<result property="name" column="xingming"
jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="sex" column="xingbie"
jdbcType="int" javaType="java.lang.Integer"/>
<result property="id" column="id"
jdbcType="int" javaType="java.lang.Integer"/>
</resultMap>
<parameterMap id="update_user_para" class="redemption" >
<parameter property="name"
jdbcType="VARCHAR"
javaType="java.lang.String"
nullValue=""
/>
<parameter property="sex"
jdbcType="int"
javaType="java.lang.Integer"
nullValue=""
/>
</parameterMap>
<procedure id="getUserList"
resultMap="get_user_result"
>
{call sp_getUserList()}
</procedure>
<procedure id="doUserUpdate"
parameterMap="update_user_para"
>
{call sp_doUserUpdate(#id#,#name#,#sex#)}
</procedure>
分享到:
评论

相关推荐

    iBatis2学习笔记

    3.iBatis2学习笔记:单表映射 .doc 4.iBatis2学习笔记:SqlMap的配置总结(18条).doc 5.iBatis2学习笔记:入参和返回值的问题.doc 6.iBatis2学习笔记:一对多映射(双向).doc 7.iBatis2学习笔记:多对多映射(双向)...

    ibatis学习笔记.txt

    ### iBatis 学习笔记知识点总结 #### 一、iBatis 概念与特点 **1.1 iBatis 定义** - **iBatis** 是一个基于 Java 的开源持久层框架,它专注于 SQL 映射,提供了一种将对象与数据库交互过程中的 SQL 语句进行分离的...

    ibatis学习笔记(一)

    这篇“ibatis学习笔记(一)”可能是博主对Ibatis基础概念、安装配置以及基本使用的介绍,让我们通过标签“源码”和“工具”来深入探讨Ibatis的相关知识。 首先,Ibatis是一个轻量级的Java ORM(对象关系映射)框架...

    持久层框架ibatis学习笔记

    通过本文的学习笔记,我们可以了解到 iBatis 在简化数据库访问的同时提供了足够的灵活性。尽管 iBatis 相比 Hibernate 在自动化程度上略显不足,但对于需要高度定制 SQL 查询的场景来说,iBatis 的优势十分明显。...

    ibatis 学习笔记

    **SQL Maps** 是iBATIS的核心,它通过XML文件将JavaBean、Map实现甚至是基本类型包装类(如String、Integer等)映射到JDBC PreparedStatement。SQL Maps简化了数据库操作,减少了大量手写SQL的代码。使用过程包括三...

    IBATIS学习笔记

    ### IBATIS学习笔记知识点详解 #### 一、IBATIS简介 iBatis是一个用于Java的数据持久化框架,类似于Hibernate、JDO和EJB等技术。它的主要特点是将对象映射为SQL语句,这使得开发人员可以更加灵活地控制SQL的执行,...

    Ibatis学习笔记,文档,资源6合1

    这个压缩包集合了Ibatis的学习笔记、文档和相关资源,为想要深入理解和掌握Ibatis的人提供了一站式的自学材料。 Ibatis的核心概念是SQL Mapping,它允许开发者将SQL语句直接写在XML配置文件中,或者使用注解方式,...

    ibatis学习笔记

    1. 加载配置:初始化时,iBatis会加载配置文件,包括数据库连接信息、映射文件等。 2. SQL执行:根据Mapper接口或XML配置文件中的SQL语句,iBatis动态生成PreparedStatement对象并填充参数。 3. 结果映射:执行SQL后...

    Ibatis的学习笔记

    在开发工具支持方面,虽然Ibatis没有提供官方的IDE插件,但社区中有许多第三方工具,如MyBatis Generator,可以帮助自动生成Mapper接口、XML映射文件和DO对象,简化开发工作。此外,开发者也可以利用Eclipse、...

    ibatis学习资料及个人学习笔记,对初学者很有用

    【ibatis学习资料及个人学习笔记】 Ibatis,作为一个轻量级的持久层框架,它在Java开发领域中占有重要地位。本资料包是针对Ibatis的学习资源集合,旨在帮助初学者快速掌握这一强大的数据库操作工具。Ibatis的核心...

    ibatis教程学习笔记

    通过本篇学习笔记,我们深入了解了 ibatis 的配置文件结构、常用的操作方式以及一些高级特性如命名空间和缓存机制。这些知识点对于初学者来说至关重要,它们不仅有助于快速掌握 ibatis 的使用方法,还能够帮助开发者...

    iBatis学习笔记

    ### iBatis学习笔记 #### 一、iBatis简介 iBatis,又被称为SqlMap,是一款开源的“半自动”对象关系映射(Object Relational Mapping, ORM)框架,它通过将SQL语句与Java代码进行解耦,简化了数据库操作。与全自动...

Global site tag (gtag.js) - Google Analytics