mybatis传入List参数或者单个String 参数等问题
来源:互联网 发布:雪橇三傻 知乎 编辑:程序博客网 时间:2024/06/08 20:03
一:在Userdao里面定义一个方法
public int deleteBatch(List<String> ids);
在对应的UserDao.xml
错误写法
<delete id="deleteBatch">
DELETE FROM s_user
WHERE id in
<foreach item="ids" collection="ids"open="(" separator=","close=")">
#{ids}
</foreach>
</delete>
错误原因是:
正确写法
<delete id="deleteBatch">
DELETE FROM s_user
WHERE id in
<foreach item="ids" collection="list" open="(" separator=","close=")">
#{ids}
</foreach>
</delete>
2:你也可以使用@Param("ids") 来指定参数名称,如以下写法正确
Userdao.java
public int deleteBatch(@Param("ids")List<String> ids);
UserDao.xml
<delete id="deleteBatch">
DELETE FROM s_user
WHERE id in
<foreach item="ids" collection="ids" open="(" separator=","close=")">
#{ids}
</foreach>
</delete>
二:如果你的入参只有一个参数并且类型是String,则需要注意:
UserDao,java
public int delete(String id);
在对应的UserDao.xml
错误写法
<delete id="delete">
DELETE FROM s_user
WHERE id =#{id}
</delete>
正确写法
<delete id="delete">
DELETE FROM s_user
WHERE id =#{_id}
</delete>
原因是:Mybatis 对于传入的参数是单个string类型的参数的时候,明确表示要用:#{_parameter}这样的格式才能够获取到传入参数的值。
2.你还可以@Param("id") 来指定参数名称,如以下写法正确
Userdao.java
public int delete(@Param("id")String id);
UserDao.xml
<delete id="delete">
DELETE FROM s_user
WHERE id =#{id}
</delete>
- mybatis传入List参数或者单个String 参数等问题
- mybatis传入单个或多个参数
- mybatis传递单个string参数
- MyBatis: SQL语句中传入单个String类型的参数的获取
- mybatis中传入String类型参数的问题
- Mybatis多参数传入问题
- MyBatis传入参数的问题
- MyBatis传入参数的问题
- MyBatis传入参数的问题
- MyBatis传入参数的问题
- MyBatis传入参数的问题
- mybatis中传入String类型参数异常
- 对于mybatis传入string类型的参数
- mybatis 传入String 类型的参数
- MyBatis-sqlMapper传入List类型参数,返回List类型参数。
- Mybatis传入多个参数 Map List作为参数
- Mybatis传递单个参数(string)时,获取参数失败
- MyBatis传入多个参数的问题
- SpringMVC 使用JSR-303进行校验 @Valid
- MyBatis中resultType和resultMap的区别
- java内部类
- Oracle匿名块
- StringBuilder
- mybatis传入List参数或者单个String 参数等问题
- 取球博弈.java
- linux安装jdk1.7
- mybatis自动生成代码
- c#string方法
- android上面netstat -ano | findstr "5037"执行错误:netstat: Unknown option o
- #Udacity#Intro_to_Computer_Science#Study_Note
- 【算法题】工作安排
- Dorado7多选框