mybatis之参数与返回值

返回值

字段名大写问题

mybatis如果不做区分大小写的设置的话,默认是不会区分大小写的,执行出的sql字段全部大写。

  • 加上字段别名加上双引号
Select name as "name" from v_zhyl_zxzf_hqyzflb
  • 返回字段映射到实体类型:

以“com.demo.pojo.User”为例:设置select语句的返回类型为

<select resultType="com.demo.pojo.User"></select>
  • 返回字段使用resultMap

select语句中的字段名称要和map中的对应上, 

   <resultMap id="mapDemo" type="java.util.map">
         <result column="userName" property="userName" />
         <result column="userAge" property="userAge" />
  </resultMap>

在select语句中设置返回map类型:

<select resultMap="mapDemo"></select>

参考:mybatis用Map返回的字段全变大写的问题_k524274865的博客-CSDN博客

mybatis-查询返回的map中部分字段不区分大小写_查询sql用map接收的字段都是小写的吗_w2006009的博客-CSDN博客

返回map

<!-- 返回HashMap结果 类型-->  
<!-- 如果想返回JavaBean,只需将resultType设置为JavaBean的别名或全限定名 -->  
<!-- TypeAliasRegistry类初始化时注册了一些常用的别名,如果忘记了别名可以在这里面查看 -->  
<select id="selectBlogRetHashMap" parameterType="int" resultType="map">  
   SELECT id AS "id", title AS "title", content AS "content" FROM Blog WHERE id = #{id}  
</select> 

insert ,delete,update操作返回值

操作返回类型返回值意义
insert int插入的数据的条数(失败返回的是exception
deleteint删除的数据的条数(失败返回的是exception

 注:update 操作明确的返回受影响的记录条数,JDBC URL添加useAffectedRows=true

传参

传递多个参数

顺序传参

#{}里面的数字代表你传入参数的顺序,索引从0开始

public List<XXXBean> getXXXBeanList(String xxId, String xxCode); 
<select id="getXXXBeanList" resultType="XXBean">
  select t.* from tableName where id = #{0} and name = #{1}  
</select>

 @Param注解传参

#{}里面的名称对应的是注解@Param括号里面修饰的名称。

注意,使用了@param注解的,在mapper.xml不加parameterType。

public List<XXXBean> getXXXBeanList(@Param("id")String id, @Param("code")String code);  
<select id="getXXXBeanList" resultType="XXBean">
    select t.* from tableName where id = #{id} and name = #{code}  
</select>  

Map封装多参数

#{}里面的名称对应的是Map里面的key名称。

public List<XXXBean> getXXXBeanList(HashMap map);  
<select id="getXXXBeanList" parameterType="hashmap" resultType="XXBean">
    select 字段... from XXX where id=#{xxId} code = #{xxCode}  
</select>  

Java Bean传参

#{}里面的名称对应的是User类里面的成员属性。

<select id="selectUser" parameterType="com.test.User" resultMap="UserResultMap">
    select * from user
    where user_name = #{userName} and dept_id = #{deptId}
</select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值