Select元素标签输入方式
基本数据类型
字符串类型
Map 类型
Java bean 类型
案例实操
输入参数分类
基本类型,字符串,java bean,map,数组(删除操作时体现),List(添加时体现)等每种情况定义如下
基本数据类型
Statement 定义
<!-- 查询客户-->
<selectid="queryCustomerById"parameterType="int"resultType="com.xxx.pojo.Customer">
SELECT id,user_name 'userName',user_balance 'userBalance' FROM yg_customer WHERE id=#{id}
</select>
CustomerDao方法定义
CustomerqueryCustomerById(intid);
字符串类型
Statement 定义
<!-- 查询客户-->
<selectid="queryCustomerByName"parameterType="string"resultType="com.xxx.pojo.Customer">
SELECT id,user_name 'userName',user_balance 'userBalance' FROM yg_customer WHERE user_name=#{userName}
</select>
Dao 方法定义
CustomerqueryCustomerById(intid);
Map 类型
Statement 定义
<!-- 输入参数为 map 类型 -->
<!-- 查询客户-->
<selectid="queryCustomerByName"parameterType="map"resultType="com.xxx.pojo.Customer">
SELECT id,user_name 'userName',user_balance 'userBalance' FROM yg_customer WHERE user_name=#{userName}
</select>
Dao 方法定义
CustomerqueryCustomerByName(Map<String,Object>userName);
Java bean 类型
Statement 定义
<!-- 输入参数为 java bean 类型 -->
<selectid="queryCustomerByParams"parameterType="customer"resultType="customer">
SELECT id,user_name 'userName',user_balance 'userBalance' FROM yg_customer WHERE user_name=#{userName}
</select>
Dao方法定义
CustomerqueryCustomerByParams(Customercustomer);
####
扩展
结果类型分类
基本数据类型,字符串,JavaBean,Map,List等
基本数据类型
Statement定义
<!-- 结果类型为基本数据 -->
<selectid="queryCustomerAccount"resultType="int">
select count(1) from yg_customer
</select>
Dao 方法定义与对应实现
intqueryCustomerAccount();
字符串类型
Statement定义
<!-- 结果类型为字符串 -->
<selectid="queryCustomerNameById"resultType="string"parameterType="int">
select user_name from yg_customer WHERE id=#{id}
</select>
Dao 方法定义
StringqueryCustomerNameById(intid);
Java Bean
Statement定义
<selectid="queryUserByUser"parameterType="user"resultType="user">
select id,user_name as userName,user_pwd as userPwd from user where id=#{id}
</select>
List
Statement 定义
<resultMaptype="user"id="user_map">
<resultcolumn="id"property="id"/>
<resultcolumn="user_name"property="userName"/>
<resultcolumn="user_pwd"property="userPwd"/>
</resultMap>
<sqlid="user_column">
id,user_name,user_pwd
</sql>
<selectid="queryUserNyName2"parameterType="string"resultMap="user_map">
select<includerefid="user_column"/>
from user where user_name like concat("%",#{userName},"%")
</select>
Map 类型数据
Statement 定义
<!-- 结果类型为map -->
<selectid="queryUserByIdReturnMap"parameterType="int"resultType="map">
select id,user_name as userName,user_pwd as userPwd from user where id=#{id}
</select>
###