【Mybatis传入多参数 _mybatis 】 | IT修真院·坑乎
咨询电话 : 010-59478634
切换导航
首页
我的提问
我的回答
我的点赞
消息通知
个人主页
×
提示
尚未登陆,前往官网登陆?
×
提示
尚未登陆,前往官网登陆?
Mybatis传入多参数
我也踩过这个坑(
1
)
已统计您的踩坑,无需重复点击
回答(0)
mybatis
详细描述
Mybatis使用动态SQL时,对接口传入多个参数,如果不在DAO接口使用Spring的注解@Param,会报错无法获取到此参数 使用过几种方法都无法在不使用注解的情况下解决这个问题
错误截图
关于这个报错,其实说的user_name这边是在动态SQL判断语句
这一句的错误,但实际上语法没有错误,数据也传入了resultMap中 查阅相关问题后发现这个是Mybatis内部处理的问题,没有办法get到这个参数,并不是命名符号问题,即使使用 形如
也会报同样的错误,只是数据类型可能不同
源码
select * from users
USER_NAME=#{user_name}
SID=#{sid}
package cn.wzy.springMybatis.dao; import cn.wzy.springMybatis.entity.User; import java.util.List; public interface UserMapper { List
selectFromNameOrSid(String user_name,long sid); }
package cn.wzy.springMybatis.service; public interface Service { int selectFromNameOrSid(String user_name,long sid); }
package cn.wzy.springMybatis.service; import cn.wzy.springMybatis.dao.UserMapper; import cn.wzy.springMybatis.entity.User; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; import java.util.List; public class ServiceImpl implements Service { ApplicationContext context = new ClassPathXmlApplicationContext("spring/spring-mybatis.xml"); SqlSessionFactory factory = (SqlSessionFactory) context.getBean("sqlSessionFactory"); //SelectFromNameOrSid public int selectFromNameOrSid(String user_name,long sid){ //获得会话对象 SqlSession sqlsession = factory.openSession(true); try{ UserMapper userMapper = sqlsession.getMapper(UserMapper.class); List
list = userMapper.selectFromNameOrSid(user_name,sid); for (User User : list) { System.out.println(User); } } catch (Exception e) { e.printStackTrace(); } finally { sqlsession.close(); } return 1; } }
url
点我跳转源码链接
编辑于2024-11-11
Copyright ©2015 北京葡萄藤信息技术有限公司 All Rights Reserved | 京ICP备15035574号-1
复制链接
新浪微博
微信扫一扫
3381
0
10
Mybatis传入多参数
0
1