`
sunbin
  • 浏览: 354504 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ibatis-3

阅读更多

 

 

 

insertUser2没有使用parameterClass,所以可以传入任意具有相应属性值的对象

       JustAnObject anobj = new JustAnObject();

       anobj.setUsername("用户名");

       anobj.setPassword("用户密码");

      

       //如果没有指定parameterClass属性,则任何一个具有相应属性值

       //的对象都可以被传递进去

       Object obj  = sqlMapper.insert("insertUser2", anobj);

 

parameterMap的使用

  <parameterMap class="User" id="insertUser-param">

    <parameter property="username"/>

    <parameter property="password"/>

  </parameterMap>

 

  <insert id="insertUser" parameterMap="insertUser-param">

    insert into t_user values (

        null,?,?

    )

    <selectKey resultClass="int" keyProperty="id">

        SELECT @@IDENTITY AS ID

    </selectKey> 

  </insert>

 

parameterMap用于传入参数,以便匹配SQL语句中的?

       User user = new User();

       user.setUsername("张三dd");

       user.setPassword("张三密码dd");

      

       Object obj  = sqlMapper.insert("insertUser", user);

 

利用parameterMap,可以定义参数对象的属性如何映射到SQL查询语句的动态参数上,注意parameterMap<parameter/>标签的先后顺序不能颠倒!

 

如何将查询结果映射到不同的对象?(resultClass的使用)

  <select id="selectUserForOtherObject" resultClass="com.bjsxt.ibatis.OtherObject" parameterClass="int">

    select

    username as prop1,

    password as prop2

    from t_user where id=#value#

  </select>

 

       //查找t_user表,将其结果映射到一个属性名不同的对象中!

       OtherObject obj = (OtherObject)sqlMapper.queryForObject("selectUserForOtherObject", 1);

       System.out.println(obj.getProp1()+","+obj.getProp2());

 

 

如何将查询结果集映射到不同的对象?(resultMap的基本使用)

 

  <resultMap class="com.bjsxt.ibatis.OtherObject" id="ooResult">

    <result property="prop1" column="username"/>

    <result property="prop2" column="password"/>

  </resultMap>

  <!--

  如果使用resultMap来定义如何映射,则如下语句不可写成:

  select username as prop1,password as prop2 ....

  -->

  <select id="selectUserForOtherObject2" parameterClass="int" resultMap="ooResult">

        select

        username,

        password

        from t_user where id=#value#

  </select>

 

       //查找t_user表,将其结果映射到一个属性名不同的对象中!

       OtherObject obj = (OtherObject)sqlMapper.queryForObject("selectUserForOtherObject2", 17);

       System.out.println(obj.getProp1()+","+obj.getProp2());

 

如何将查询结果集映射为xml格式的数据?

 

  <select id="selectXmlData" resultClass="xml" xmlResultName="User" parameterClass="int">

    select * from t_user where id=#value#

  </select>

  <select id="selectXmlDatas" resultClass="xml" xmlResultName="User">

    select * from t_user

  </select>

 

       //查找t_user表,将其结果映射到xml

       //返回值是xml形式的字符串

       Object obj = (Object)sqlMapper.queryForObject("selectXmlData", 1);

       System.out.println(obj);

 

       //查找t_user表,将其结果映射到xml

       List list  = (List)sqlMapper.queryForList("selectXmlDatas");

       System.out.println(list);

 

如何用Map类型的对象作为传入参数?

  <!--

  这里,可以使用全路径类名,如:

  java.util.Map

  java.util.HashMap

  java.util.TreeMap

 

  map

  -->

  <insert id="insertUser" parameterClass="map">

    insert into t_user values (

        null,#username#,#password#

    )

  </insert>

 

       Map user = new TreeMap();

       user.put("username", "Map用户");

       user.put("password", "Map用户密码");

       sqlMapper.insert("insertUser",user);

 

如何将查询结果集的元素转换为Map类型的对象?

  <!--

  resultClass可以定义为java.util.HashMap类型,

  将能自动转换

  -->

  <select id="selectMapUsers" resultClass="java.util.HashMap">

    select * from t_user

  </select>

 

       List list = (List)sqlMapper.queryForList("selectMapUsers");

       System.out.println(list);

       for (Iterator iter = list.iterator(); iter.hasNext();) {

           Map map = (Map) iter.next();

           //可在此输出map的数据

       }

 

 

 

 

事务处理

可以使用sqlMapClientstartTransaction/commitTransaction/endTransaction等方法来控制事务的边界。

 

如果与spring整合(这是iBatis推荐的方式),则我们需要在spring

分享到:
评论

相关推荐

    ibatis-3-core-3.0.0.242.jar.zip

    ibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zip

    apache开源项目源码ibatis-3-core-src-3.0.0.227(ibatis框架java源程序)

    apache开源项目源码ibatis-3-core-src-3.0.0.227 ibatis框架java源程序 spring,struts,hibernate,ibatis,框架源码 各种ibatis框架应用源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其...

    ibatis-3是一个很不错的持久层框架

    **Ibatis-3:持久层框架的优秀选择** Ibatis-3 是一款高效且灵活的持久层框架,专为简化Java应用程序中的数据访问层(DAL)设计。它提供了一个中间层,将数据库操作与业务逻辑分离,使得开发人员能够更好地控制SQL...

    ibatis-3-core-3.0.0.200

    ibatis-3-core-3.0.0.200

    ibatis-3-core-3.0.0.242.zip

    ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip

    ibatis-3-core-3.0.0.227.z

    本文将围绕"ibatis-3-core-3.0.0.227.z"这个压缩包,详细介绍其包含的元素以及相关的知识要点。 首先,"ibatis-3-core-3.0.0.227.jar"是iBatis的核心库文件,包含了iBatis框架的主要功能。这个JAR文件包含了所有...

    ibatis-3-core-3.0.0.204

    ibatis-3-core-3.0.0.204 最新官方下载版

    iBATIS-SqlMaps-2-Tutorial_cn.pdf

    iBATIS-SqlMaps-2-Tutorial_cniBATIS-SqlMaps-2-Tutorial_cn.pdf.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdf

    ibatis-common.jar包

    《深入解析ibatis-common.jar包》 在Java开发领域,Ibatis作为一个优秀的持久层框架,以其灵活、易用的特点深受开发者喜爱。而ibatis-common.jar包则是Ibatis框架的重要组成部分,它提供了诸多实用功能,帮助开发者...

    ibatis-2.3.4.726.jar,ibatis-2.3.0.677.jar,ibatis-2.3.3.720.jar下载

    这里提到的是iBATIS的三个不同版本的jar包:ibatis-2.3.4.726.jar、ibatis-2.3.0.677.jar以及ibatis-2.3.3.720.jar。 首先,让我们深入了解iBATIS的核心概念和功能: 1. **SQL Map配置**:iBATIS的核心是SQL Map...

    ibatis-3-学习笔记.docx

    首先,需要将 ojdbc14.jar 和 ibatis-3-core-3.0.0.208.jar 添加到项目的 lib 文件夹中。然后,在 WEB-INF 文件夹下创建一个 lib 文件夹,并将相关依赖包复制到该文件夹中。 二、总配置文件 SqlMapConfig.xml ...

    ibatis-common包

    ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包

    iBATIS-3开发指南

    ### iBATIS-3开发指南:关键知识点概览 #### 什么是iBATIS? iBATIS是一种开源的持久层框架,旨在简化Java应用程序与数据库之间的交互。它通过将SQL语句封装为配置文件,并利用映射器(Mappers)来关联Java对象与...

    ibatis-sqlmap-2.3.4.726-sources.jar.zip_birth84v_cutting1v2_ibat

    《深入解析iBatis-SQLMap 2.3.4.726源码》 在Java开发领域,iBatis作为一个优秀的持久层框架,深受广大开发者喜爱。它将SQL语句与Java代码分离,提高了代码的可读性和可维护性。本篇将围绕iBatis-SQLMap 2.3.4.726...

    ibatis-2.3.0.677-sources.jar

    ibatis-2.3.0.677-sources.jar 值得学习的源码资源,不容错过。

    ibatis-3-core-3.0.0.240.jar

    ibatic框架最新驱动--------------------

    iBATIS-SqlMaps2入门代码文档

    ### iBATIS-SqlMaps2入门代码文档知识点详解 #### 一、简介 iBATIS-SqlMaps2是一款用于简化Java应用程序与数据库交互过程的框架。该框架通过配置文件定义了对象关系映射规则,使得开发者能够更加专注于业务逻辑而...

    ibatis-2.3.3.720.jar

    ibatis-2.3.3.720.jar

    ibatis-2.3.0.677.jar

    标题 "ibatis-2.3.0.677.jar" 指向的是一个特定版本的 iBATIS 库,即版本号为 2.3.0.677 的 JAR 文件。iBATIS 是一个开源的 Java 框架,主要用于简化数据库与应用程序之间的交互。它在早期广泛应用于企业级应用开发...

    iBATIS-3用户手册(英文版)

    ### iBATIS-3 用户手册知识点总结 #### 一、iBATIS简介 - **iBATIS**:iBATIS 是一个开源框架,用于简化 Java 应用程序中的 SQL 数据库操作。它提供了数据访问层(DAO)的一种实现方式,通过配置文件与 SQL 映射...

Global site tag (gtag.js) - Google Analytics