我想使用mybatis来修复字符串列表.我正在使用以下代码,但是如下所示获取illegalArgument异常:
javax.servlet.ServletException: org.mybatis.spring.MyBatisSystemException: SqlSession operation; nested exception is java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for java.lang.Object.toString
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
Run Code Online (Sandbox Code Playgroud)
Mybatis配置:
<select id="fetchIds" resultType="java.lang.String" >
SELECT distinct ids
FROM abc.emp
</select>
Run Code Online (Sandbox Code Playgroud)
我的道法是:
@Override
public List<String> fetchIds() {
System.out.println("Inside fetchIds");
SqlSession session = null;
List retrieveList = null;
try{
session = sqlSessionFactory.openSession();
System.out.println("After session creation:"+session);
retrieveList = session.selectList("fetchIds");
}finally{
session.close();
}
return retrieveList;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我们如何实现这一目标.
Kar*_*sad 13
定义List到List<String>.这里你的代码看起来像
<select id="fetchIds" resultType="string" >
SELECT distinct ids
FROM abc.emp
</select>
Run Code Online (Sandbox Code Playgroud)
和道法
@Override
public List<String> fetchIds() {
System.out.println("Inside fetchIds");
SqlSession session = null;
List<String> retrieveList = null;
try{
session = sqlSessionFactory.openSession();
System.out.println("After session creation:"+session);
retrieveList = session.selectList("fetchIds");
}finally{
session.close();
}
return retrieveList;
}
Run Code Online (Sandbox Code Playgroud)
mapper interface.java文件具有如下方法签名.
String[] fetchIds()throws Exception;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41889 次 |
| 最近记录: |