`

ibatis select 标签

阅读更多

select的输入和输出

例如 select id,name,age from user where name like '%王%' and age>20

这里既有输入也有输出

select的属性
id,parameterClass,resultClass,parameterMap,resultMap,cacheModel
resultSetType,fetchSize,xmlResultName,remapResults,timeout
输入 parameterClass,ParameterMap
resultSetTYpe为结果集类型,主要是说游标,具有方向性,可以取
forward_only,scoll_insensitive,scoll_sensitive,具体情况具体配置

fetchSize 预取回数据量的大小

xmlResultName,返回result为xml的名称

如果返回的结果可以修改则吧remapResults设为true,否则设为false

输入,用参数带进来
可以是#,$做为占位符

不同占位符使用

Xml代码 复制代码
  1. <SPAN style="FONT-SIZE: small"><select id="getAllUsers1" resultClass="com.mypackage.User"  
  2.   parameterClass="string">  
  3.   SELECT * FROM USER WHERE DEPARTMENT=#department#   
  4.  </select>  
  5. <select id="getAllUsers1" resultClass="com.mypackage.User"  
  6.   parameterClass="string">  
  7.   SELECT * FROM USER WHERE DEPARTMENT like '$department$'   
  8.  </select>  
  9. </SPAN>  
<select id="getAllUsers1" resultClass="com.mypackage.User"
  parameterClass="string">
  SELECT * FROM USER WHERE DEPARTMENT=#department#
 </select>
<select id="getAllUsers1" resultClass="com.mypackage.User"
  parameterClass="string">
  SELECT * FROM USER WHERE DEPARTMENT like '$department$'
 </select>

 

#不能放在‘’之内


resultMap

 

Xml代码 复制代码
  1. <SPAN style="FONT-SIZE: small"><!-- 无映射  -->  
  2.  <select id="getAllUsers1" resultClass="User"  
  3.   parameterClass="string">  
  4.   SELECT * FROM USER WHERE DEPARTMENT=#department#   
  5.  </select>  
  6.   
  7.  <!-- 内联映射->实体类 -->  
  8.  <select id="getAllUsers2" resultClass="User"  
  9.   parameterClass="string">  
  10.   SELECT USERID as userid, USERNAME as username, PASSWORD as   
  11.   password, DEPARTMENT as department FROM USER WHERE   
  12.   DEPARTMENT=#department#   
  13.  </select>  
  14.   
  15.  <!-- 内联映射->MAP类 -->  
  16.  <select id="getAllUsers3" resultClass="hashmap"  
  17.   parameterClass="string">  
  18.   SELECT * FROM USER WHERE DEPARTMENT=#department#   
  19.  </select>  
  20.   
  21.  <!-- 显示映射->实体类 -->  
  22.  <resultMap id="accoutResult" class="User">  
  23.   <result property="userid" column="USERID" />  
  24.   <result property="username" column="USERNAME" />  
  25.   <result property="password" column="PASSWORD" />  
  26.   <result property="department" column="DEPARTMENT" />  
  27.  </resultMap>  
  28.  <select id="getAllUsers4" resultMap="accoutResult"  
  29.   parameterClass="string">  
  30.   SELECT * FROM USER WHERE DEPARTMENT=#department#   
  31.  </select>  
  32.   
  33.  <!-- 显示映射->MAP类 -->  
  34.  <resultMap id="mapResult" class="hashmap">  
  35.   <result property="userid" column="USERID" />  
  36.   <result property="username" column="USERNAME" />  
  37.   <result property="password" column="PASSWORD" />  
  38.   <result property="department" column="DEPARTMENT" />  
  39.  </resultMap>  
  40.  <select id="getAllUsers5" resultMap="mapResult"  
  41.   parameterClass="string">  
  42.   SELECT * FROM USER WHERE DEPARTMENT=#department#   
  43.  </select>  
  44.   
  45. </SPAN>  
<!-- 无映射  -->
 <select id="getAllUsers1" resultClass="User"
  parameterClass="string">
  SELECT * FROM USER WHERE DEPARTMENT=#department#
 </select>

 <!-- 内联映射->实体类 -->
 <select id="getAllUsers2" resultClass="User"
  parameterClass="string">
  SELECT USERID as userid, USERNAME as username, PASSWORD as
  password, DEPARTMENT as department FROM USER WHERE
  DEPARTMENT=#department#
 </select>

 <!-- 内联映射->MAP类 -->
 <select id="getAllUsers3" resultClass="hashmap"
  parameterClass="string">
  SELECT * FROM USER WHERE DEPARTMENT=#department#
 </select>

 <!-- 显示映射->实体类 -->
 <resultMap id="accoutResult" class="User">
  <result property="userid" column="USERID" />
  <result property="username" column="USERNAME" />
  <result property="password" column="PASSWORD" />
  <result property="department" column="DEPARTMENT" />
 </resultMap>
 <select id="getAllUsers4" resultMap="accoutResult"
  parameterClass="string">
  SELECT * FROM USER WHERE DEPARTMENT=#department#
 </select>

 <!-- 显示映射->MAP类 -->
 <resultMap id="mapResult" class="hashmap">
  <result property="userid" column="USERID" />
  <result property="username" column="USERNAME" />
  <result property="password" column="PASSWORD" />
  <result property="department" column="DEPARTMENT" />
 </resultMap>
 <select id="getAllUsers5" resultMap="mapResult"
  parameterClass="string">
  SELECT * FROM USER WHERE DEPARTMENT=#department#
 </select>

 

 map映射 ,返回的list里的每一项都是一个map然后有键值对

xml映射

Xml代码 复制代码
  1. <SPAN style="FONT-SIZE: small"><!-- XML -->  
  2.  <select id="selectXML" parameterClass="string" resultClass="xml"  
  3.   xmlResultName="log">  
  4.   SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupName#   
  5.  </select>  
  6. </SPAN>  
<!-- XML -->
 <select id="selectXML" parameterClass="string" resultClass="xml"
  xmlResultName="log">
  SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupName#
 </select>

  

resultClass="xml"这个xml也是预定义好的类

在测试类里调用后返回的是xml格式的字符串,指定的xmlResultName相当于xml的
根元素

 

返回结果有三类,1 返回直接指定的类 2 返回map类型 3 返回xml

分享到:
评论

相关推荐

    ibatis动态SQL标签用法

    iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...

    解决IBatis缓存动态字段问题

    通过在 `&lt;select&gt;` 标签中设置 `remapResults="true"`,可以有效地解决IBatis缓存动态字段带来的问题。这不仅避免了因缓存错误而导致的查询失败,还确保了程序能够灵活地处理动态表名和字段名。同时,需要注意的是,...

    ibatis的dynamicSQL中,关于prepend的使用

    在ibatis中,`&lt;dynamic&gt;`标签是用来构建动态SQL的核心元素之一。当使用`&lt;dynamic&gt;`标签时,可以将一系列条件组合起来,根据参数的不同值来决定是否加入到最终的SQL语句中。例如,在给定的部分内容中,可以看到`...

    ibatis总结 ibatis ibatis ibatis ibatis

    例如,`&lt;select&gt;`标签用于定义查询语句,`&lt;insert&gt;`、`&lt;update&gt;`和`&lt;delete&gt;`分别对应增删改操作。在SQL映射文件中,可以使用动态SQL来处理复杂的查询条件,如`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`等标签。 ...

    ibatis demo,ibatis例子,ibatis示例

    4. **动态SQL**:Ibatis的动态SQL功能非常强大,可以在XML映射文件中通过`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;where&gt;`等标签实现条件判断,使得SQL语句更加灵活。 5. **参数映射**:Ibatis支持多种方式...

    ibatis入门

    在 `select` 标签中,你可以使用 `&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;` 和 `&lt;where&gt;` 等标签来构建动态 SQL,根据传入参数的不同组合生成不同的 SQL 语句。 5. **单对象查询** 当需要查询单个对象时,可以...

    Ibatis入门例子,Ibatis教程

    例如,你可以通过使用`&lt;if&gt;`、`&lt;choose&gt;`等标签来编写条件语句,通过`&lt;resultMap&gt;`来定义复杂的对象关系映射。 学习Ibatis,不仅能够提高开发效率,还能使代码更加清晰、易于维护。随着对Ibatis的深入理解和实践,...

    ibatis的dtd文件

    例如,`&lt;select&gt;`标签用于定义一个查询语句,可以包含SQL语句和其返回的结果集映射;`&lt;insert&gt;`标签则用于插入操作,允许指定动态SQL和返回的自增主键值;`&lt;update&gt;`和`&lt;delete&gt;`分别对应更新和删除操作,同样支持...

    ibatis plugin用户指南

    5. **自动生成select语句**:在&lt;select&gt;标签处,按Alt+Enter选择Generate result for resultMap or resultClass,插件会根据parameterClass或parameterMap自动生成对应的select语句。 6. **SqlMapClient方法调用的...

    ibatis常用的sql

    根据提供的文件信息,本文将对ibatis常用的SQL语句进行详细的解析与说明。这些SQL语句主要用于Oracle数据库中,涉及到了删除、插入以及查询等基本操作,并且在ibatis框架中实现了参数化处理。 ### 一、删除操作 ...

    Ibatis 入门经典 实例

    2. 编写 SQL 映射:在 XML 文件中编写 SQL 语句,通过 `&lt;select&gt;`、`&lt;insert&gt;`、`&lt;update&gt;`、`&lt;delete&gt;` 等标签进行操作。 3. 映射接口与 XML 关联:在 XML 文件中通过 `&lt;mapper&gt;` 标签指定接口全限定名。 4. ...

    ibatis 的 jar包

    【标签】"ibatis jar java" 对于Java开发者来说,正确地引入iBATIS的jar包到项目中是至关重要的。在Java环境中,通常将`ibatis-2.3.4.726.jar`添加到项目的类路径(Classpath)中,这样就可以在代码中直接使用...

    ibatis教程 输入参数详解

    标签:ibatis list 部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用ibatis、构建SqlSessionFactory的方法(包括通过XML和不使用XML的方式)、获取...

    IBatis .NET框架实例

    例如,使用`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`等标签来构建动态查询。 **八、性能优化** 通过合理的缓存策略、批处理和预编译SQL等手段,IBatis可以在不影响灵活性的同时提供良好的性能。 总结,IBatis ...

    ibatis

    4. 映射文件与接口绑定:Ibatis 支持Mapper接口,通过`@Select`、`@Insert`、`@Update`、`@Delete`等注解,将SQL语句直接写在方法上,简化了编程模型。同时,通过Mapper工厂,可以根据接口生成具体的Mapper实例,...

    iBATIS 三个版对比

    - **iBATIS v2** 和 **iBATIS v3**:分别使用`&lt;select&gt;`、`&lt;update&gt;`等标签来明确指定SQL语句类型。 这样的改变使得SQL语句的定义更加清晰直观,也更易于维护。 - **参数表示:** - **iBATIS v1** 和 **iBATIS...

    ibatis入门与ibatis迭代的用法

    4. **动态SQL**:iBatis支持动态SQL,可以在XML中使用if、choose、when、otherwise等标签实现条件判断。 5. **使用SqlSession**:在Java代码中,通过SqlSessionFactory创建SqlSession对象,然后通过SqlSession执行...

    ibatis的使用教程

    - `&lt;select&gt;` 标签用于查询,其中包含 SQL 语句,并设置 `resultClass` 属性指定返回结果的类型。 - `&lt;insert&gt;` 标签用于插入数据,设置 `parameterClass` 指定输入参数类型。 - `&lt;update&gt;` 标签用于更新数据。 - `...

    iBATIS2.0学习总结

    通过定义`&lt;select&gt;`, `&lt;insert&gt;`, `&lt;update&gt;`, `&lt;delete&gt;`等标签,可以声明SQL语句,并且可以设置参数映射和结果集映射,使得输入的数据对象(如POJO或Map)能够与SQL的WHERE子句对应,而查询结果则可以自动映射回...

    ibatis多表查询过程

    在iBatis中,我们可以使用`&lt;select&gt;`标签来定义多表查询的SQL语句。 ### 3. 使用`&lt;include&gt;`标签 为了保持SQL语句的整洁和可重用性,可以使用`&lt;include&gt;`标签将公共部分的SQL语句提取出来。这样在多个查询中引用同...

Global site tag (gtag.js) - Google Analytics