码迷,mamicode.com
首页 > 其他好文 > 详细

parameterType 和 resultType

时间:2017-09-03 22:08:52      阅读:528      评论:0      收藏:0      [点我收藏+]

标签:通过   括号   输出   查询   mybatis   结果   sel   statement   关心   

parameterType

#{} 和 ${}

  1、#{}实现的是向prepareStatement中的预处理语句中设置参数值,sql语句中#{}表示一个占位符即?

  2、使用占位符#{}可以有效防止sql注入,在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。#{}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。

 

   ${}#{}不同,通过${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换, ${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value。使用${}不能防止sql注入,但是有时用${}会非常方便。

 

 

传递pojo对象

  Mybatis使用ognl表达式解析对象字段的值,如#{field},如对象字段为对象,表示为#{obj.field}

 

传递hashmap

  传递的map中的keysql中解析的key一致

 

 

resultType

1、输出简单类型必须查询出来的结果集有一条记录,最终将第一个字段的值转换为输出类型,使用sessionselectOne可查询单条记录

2、输出pojo对象和输出pojo列表在sql中定义的resultType是一样的。

返回单个pojo对象要保证sql查询出来的结果集为单条,内部使用session.selectOne方法调用,mapper接口使用pojo对象作为方法返回值。

返回pojo列表表示查询出来的结果集可能为多条,内部使用session.selectList方法,mapper接口使用List<pojo>对象作为方法返回值。

3、输出pojo对象可以改用hashmap输出类型,将输出的字段名称作为mapkeyvalue为字段值。

 

parameterType 和 resultType

标签:通过   括号   输出   查询   mybatis   结果   sel   statement   关心   

原文地址:http://www.cnblogs.com/m2492565210/p/7471022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!