ibatis SqlMap下的select标签

本文详细介绍了MyBatis中SqlMap的select标签及其各种属性的使用方法,包括参数传递方式、不同类型的结果映射策略等,并通过具体示例进行说明。
SqlMap下的select标签:
所有属性:
parameterClass:输入类型;
resultClass:输出类型;
parameterMap:输入的内容为多的时候;
resultMap:集合输出;
cacheMoedl:选择高速缓存;
resultSetType:结果集的类型;
fetchSize:欲取回多少记录;
tiemout;
xmlResultName:
remapResults:
当查询返回的结果类型会发生变化时,就启用此属性为true;
例如:
select  id,name,age from people where (namelike '%张%') and (age>#num#)
    输入参数:
    用#占位符做参数:
    ##之间存放输入参数;(不能在单引号之内)
    
    用$占位符做参数:
    %$这里放关键词$%,$表示可以是通配符

  
   SQL注入:
  
  
   resultMap:
   a无映射:直接告诉返回的结果类型为自己定义的bean
  例如:(resultClass,parameterClass可以为自己定义的javabean)
   <select id= "getUserByPass" resultClass="com.learning.Account" parameterClass= "string">
select * from user_account where password = #password#
</select>
b 内联映射-》实体类:返回的结果类型仍然为自己定义的bean,差别在查询语句(不一定查询表中所有的字段)
例如:(在SQL语句中映射)
使用as,将查询到得结果和bean的字段链接起来
<select id = "getUserByPass"resultClass="com.learning.Account" parameterClass ="string">
select USERID as userid,USERNAME as username from user_accountwhere password = #password#
</select>
  c内联映射-》map类:将返回的结果给到一个map集合,查询到的结果字段放入集合。
   例如:
class部分:
List list = sqlMap.queryForList();
for (int i=0;i<list.size();i++)
{
Map m = (Map)list.get(i);
(String)m.get("username");
}
xml部分:
<select id = "getUserByPass"resultClass="hashmap" parameterClass ="string">
select * from user_account where password = #password#
</select>
   d显示映射-》实体类:
例如:
XML部分:
<resultMap id="accountResult"class="结果类型,可以是自定义bean">
<result property="userid" column="USERID"/>
.
.
.
</resultMap>
<select id="getAllUser4"resultMap="accountResult"parameterClass="string">
SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupname#
</select>
e显示映射-》map类
XML部分:
<resultMap id="mapResult"class="hashmap">
<result property="userid" column="USERID"/>
.
.
.
</resultMap>
<select id="getAllUser5" resultMap="mapResult"parameterClass="string">
SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupname#
</select>
f XML类型
<select id="selectXML" parameterClass="string" resultClass="xml"xmlResutlName="log">
SELECT * FROM USER_ACCOUNT WHERE GROUPNAME=#groupname#
</select>
//log为xml的根标签
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值