MyBatis传入参数与parameterType

MyBatis传入参数与parameterType

ID:38583429

大小:54.50 KB

页数:6页

时间:2019-06-15

MyBatis传入参数与parameterType_第1页
MyBatis传入参数与parameterType_第2页
MyBatis传入参数与parameterType_第3页
MyBatis传入参数与parameterType_第4页
MyBatis传入参数与parameterType_第5页
资源描述:

《MyBatis传入参数与parameterType》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MyBatis传入参数与parameterTypeDecember25,2013DatabaseJavaopenwaresMybatis的Mapper文件中的select、insert、update、delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型。可以接受的参数类型有基本类型和复杂类型。mapper接口方法一般接受一个参数,可以通过使用@Param注释将多个参数绑定到一个map做为输入参数。1.简单数据类型mapper接口方法:1UserselectByPrimaryKey(Integerid);sql映射:123456

2、="selectByPrimaryKey"resultMap="BaseResultMap"parameterType="java.lang.Integer">selectfrombase.tb_userwhereid=#{id,jdbcType=INTEGER}对于简单数据类型,sql映射语句中直接#{变量名}这种方式引用就行了,其实这里的"变量名"可以是任意的。mapper接口方法传递过来的值,至于其叫什么名字其实是不可考也没必要知道的。而且JAVA反射只能获取方法参数的类型,是无从得知方法参数的名字的

3、。比如上面这个示例中,使用#{id}来引用只是比较直观而已,使用其他名字来引用也是一样的。所以当在if元素中test传递的参数时,就必须要用_parameter来引用这个参数了。像这样:12345678selectfromtb_userwhereid=#{id,jdbcType=INTEGER}

4、>如果test测试条件中使用id就会提示错误,因为这个参数其实没有名字,只是一个值或引用而已,只能使用_parameter来引用。1.对象类型传入JAVA复杂对象类型的话,sql映射语句中就可以直接引用对象的属性名了,这里的属性名是实实在在的真实的名字,不是随意指定的。mapper接口方法:1intinsert(Useruser);sql映射:123insertintotb_user(name,sex)values(#{

5、name,jdbcType=CHAR},#{sex,jdbcType=CHAR})虽然可以明确的引用对象的属性名了,但如果要在if元素中测试传入的user参数,仍然要使用_parameter来引用传递进来的实际参数,因为传递进来的User对象的名字是不可考的。如果测试对象的属性,则直接引用属性名字就可以了。测试user对象:1测试user对象的属性:11.map类型传入map类型,直接通过#{keyname}就可以引用到键对应的值。使用@param注释的多个参数值也会组装成一个map数据结构,和直

6、接传递map进来没有区别。mapper接口:1intupdateByExample(@Param("user")Useruser,@Param("example")UserExampleexample);sql映射:12345updatetb_user67setid=#{user.id,jdbcType=INTEGER},...注意这里测试传

7、递进来的map是否为空,仍然使用_parameter1.集合类型YoucanpassaListinstanceoranArraytoMyBatisasaparameterobject.Whenyoudo,MyBatiswillautomaticallywrapitinaMap,andkeyitbyname.Listinstanceswillbekeyedtothename"list"andarrayinsta

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。