解析Mybatis连续传递多个参数的方法
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
下面给大家介绍Mybatis连续传递多个参数的方法。具体代码如下所示:
// order by 排序
//<![CDATA[ 值 ]]> 过滤符号
//${}方式会引发SQL注入
//#{} 解析的是占位符
<![CDATA[ order by ${参数1} ${参数2} ]]>
例子:
SQL:select * from A where A.id=#{id}
id=hello
解析:
select * from A where A.id=?
SQL:select * from A where A.id=#{id}
id=hello
解析:
select * from A where A.id=hello
以上所述是小编给大家介绍的Mybatis连续传递多个参数的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Java的MyBatis框架中关键的XML字段映射的配置参数详解
properties 这些是外部化的,可替代的属性,这些属性也可以配置在典型的Java属性配置文件中,或者通过properties元素的子元素来传递.例如: <properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="pas
-
MyBatis 参数类型为String时常见问题及解决方法
1. 参数为String时的插值问题 假设有下面一Dao接口方法 public Account findByAccountType (String type)throws DaoException; 对应的Mapper.xml <select id="findByAccountType " parameterType="string" resultType="account"> select * form account <wh
-
MyBatis拦截器:给参数对象属性赋值的实例
该拦截器的作用:在进行增加.修改等操作时,给数据模型的一些通用操作属性(如:创建人.创建时间.修改人.修改时间等)自动赋值. 该实现是在DAO层拦截,即存入DB前最后一层.后经分析,不是很合理,改为在service层拦截,用spring AOP来实现了,该代码遂弃用.不过已经测试可用,记录备忘. package com.development; import java.lang.reflect.InvocationTargetException; import java.util.Date; i
-
MyBatis传入参数的实例代码
在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和JAVA复杂数据类型 基本数据类型:包含int,String,Date等.基本数据类型作为传参,只能传入一个.通过#{参数名} 即可获取传入的值 复杂数据类型:包含JAVA实体类.Map.通过#{属性名}或#{map的KeyName}即可获取传入的值 基本数据类型参数示例: 根据班级ID查询教师列表 x
-
Mybatis传递多个参数进行SQL查询的用法
PS:ibatis3如何传递多个参数有两个方法:一种是使用java.Map,另一种是使用JavaBean. 当只向xxxMapper.xml文件中传递一个参数时,可以简单的用"_parameter"来接收xxxMapper.java传递进来的参数,并代入查询,比如说这样: (1)xxxMapper.java文件中这样定义: List<String> selectAllAirportCode(Boolean mapping); (2)这时在对应的xxxMapper.xml文件
-
Mybatis多参数及实体对象传递实例讲解
在使用Mybatis的时候,经常会有各种各样的参数传递,不同类型,不同个数的参数. 先上个例子: public List<LifetouchRelease> findOfficeList(@Param("lifetouchRelease") LifetouchRelease lifetouchRelease, @Param("advertisementId") String advertisementId, @Param("officeName
-
Mybatis传递多个参数的解决办法(三种)
小编给大家分享三种方案解决mybatis传递多个参数的问题,具体介绍如下所示: 第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="selectUser" resultMap="BaseResultMap"> select * from user_user_t where user_name = #{0} and user_a
-
MyBatis传入集合 list 数组 map参数的写法
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有item,index,collection,open,separator,close.item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性
-
Mybatis传list参数调用oracle存储过程的解决方法
怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据? MyBatis中参数是List类型时怎么处理?大家都知道MyBatis批处理大量数据是很难做到事务回滚的(事务由Spring管理),都将逻辑写在存储中又是及其头疼的一件事(参数长度也有限制),那么我想的是将参数在后台封装为单个或多个list集合,直接通过MyBatis将此参数传到数据库存储过程中,一来摆脱了MyBatis批量插入数据的诸多限制(例如:不能实时返回主键.foreach标签循环集合长度有限制),二来就是在存
-
深入学习MyBatis中的参数(推荐)
前言 相信很多人可能都遇到过下面这些异常: "Parameter 'xxx' not found. Available parameters are [...]" "Could not get property 'xxx' from xxxClass. Cause: "The expression 'xxx' evaluated to a null value." "Error evaluating expression 'xxx'. Retur
随机推荐
- 转载一个别人收藏的精典网站Ruby,HIBERNATE相关
- oracle 使用递归的性能提示测试对比
- JavaScript类的写法
- 利用JS判断字符串是否含有数字与特殊字符的方法小结
- SqlCommandBuilder如何实现批量更新
- round robin权重轮循算法php实现代码
- JavaScript利用append添加元素报错的解决方法
- ASP 使用Filter函数来检索数组的实现代码
- mysql sql语句隐藏手机号码中间四位的方法
- Android中ExpandableListView使用示例详解
- JS中使用 after 伪类清除浮动实例
- 深入剖析$.ajax()方法
- javascript实现划词标记+划词搜索功能
- URL编码转换,escape() encodeURI() encodeURIComponent()
- java随机生成一个名字和对应拼音的方法
- firefox浏览器下javascript 拖动层效果与原理分析代码
- Android编程滑动效果之Gallery+GridView实现图片预览功能(附demo源码下载)
- TensorFlow实现模型评估
- python并发编程 Process对象的其他属性方法join方法详解
- 基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
