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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值