这个是我的ibatis配置文件 user.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap >
<typeAlias type="com.pbc.evaluation.model.User" alias="user"/>
<resultMap id="userdb" class="user" >
<result column="id" property="id" jdbcType="INTEGER" nullValue="0"/>
<result column="u_code" property="ucode" jdbcType="CHARACTER" nullValue="0"/>
<result column="u_name" property="uname" jdbcType="CHARACTER" nullValue="0" />
<result column="u_pswd" property="upswd" jdbcType="CHARACTER" nullValue="0"/>
<result column="u_depart" property="udepart" jdbcType="CHARACTER" nullValue="0"/>
<result column="u_actor" property="uactor" jdbcType="CHARACTER" nullValue="0"/>
</resultMap>
<!-- 根据id获得用户对象
<select id="getUsersById" resultMap="userdb" >
select * from Users where id=#value#
</select>
-->
<select id="getUsersById" resultClass="com.pbc.evaluation.model.User">
select u_code as ucode from Users where id=#value#
</select>
<!-- 新增用户对象 -->
<insert id="insertUsers" parameterClass="user">
insert into Users (u_name,u_code,u_pswd,u_depart,u_actor) values (#uname#,#ucode#,#upswd#,#udepart#,#uactor#)
</insert>
</sqlMap>执行读取的时候 报错误 ,两个getUsersById都不能运行 报错差不多,都是sqlmap问题,哪位前辈帮忙看看:
但是执行插入操作到时能插入数据。org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-99999];
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:583)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-99999];
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:212)
org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:271)
com.pbc.evaluation.dao.UserDaoImpl.getById(UserDaoImpl.java:17)
com.pbc.evaluation.service.UserServiceImpl.getById(UserServiceImpl.java:25)
com.pbc.evaluation.controller.UserController.save(UserController.java:107)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185)
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566)
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541)
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient(SqlMapClientTemplate.java:273)
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:271)
com.pbc.evaluation.dao.UserDaoImpl.getById(UserDaoImpl.java:17)
com.pbc.evaluation.service.UserServiceImpl.getById(UserServiceImpl.java:25)
com.pbc.evaluation.controller.UserController.save(UserController.java:107)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap >
<typeAlias type="com.pbc.evaluation.model.User" alias="user"/>
<resultMap id="userdb" class="user" >
<result column="id" property="id" jdbcType="INTEGER" nullValue="0"/>
<result column="u_code" property="ucode" jdbcType="CHARACTER" nullValue="0"/>
<result column="u_name" property="uname" jdbcType="CHARACTER" nullValue="0" />
<result column="u_pswd" property="upswd" jdbcType="CHARACTER" nullValue="0"/>
<result column="u_depart" property="udepart" jdbcType="CHARACTER" nullValue="0"/>
<result column="u_actor" property="uactor" jdbcType="CHARACTER" nullValue="0"/>
</resultMap>
<!-- 根据id获得用户对象
<select id="getUsersById" resultMap="userdb" >
select * from Users where id=#value#
</select>
-->
<select id="getUsersById" resultClass="com.pbc.evaluation.model.User">
select u_code as ucode from Users where id=#value#
</select>
<!-- 新增用户对象 -->
<insert id="insertUsers" parameterClass="user">
insert into Users (u_name,u_code,u_pswd,u_depart,u_actor) values (#uname#,#ucode#,#upswd#,#udepart#,#uactor#)
</insert>
</sqlMap>执行读取的时候 报错误 ,两个getUsersById都不能运行 报错差不多,都是sqlmap问题,哪位前辈帮忙看看:
但是执行插入操作到时能插入数据。org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-99999];
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:583)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [-99999];
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:212)
org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:271)
com.pbc.evaluation.dao.UserDaoImpl.getById(UserDaoImpl.java:17)
com.pbc.evaluation.service.UserServiceImpl.getById(UserServiceImpl.java:25)
com.pbc.evaluation.controller.UserController.save(UserController.java:107)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/pbc/evaluation/model/database/user.xml.
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object.
--- Cause: com.ibm.db2.jcc.b.SqlException: DatabaseMetaData information is not known for server DB2/LINUXSQL09017 by this version of JDBC driver
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185)
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566)
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541)
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient(SqlMapClientTemplate.java:273)
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:271)
com.pbc.evaluation.dao.UserDaoImpl.getById(UserDaoImpl.java:17)
com.pbc.evaluation.service.UserServiceImpl.getById(UserServiceImpl.java:25)
com.pbc.evaluation.controller.UserController.save(UserController.java:107)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause
解决方案 »
- 本人菜鸟求助,在线等啊!!Eclipse,在线安装完Babel语言包后打不开了。。
- 一个关于面向对象的问题
- java调用批处理bat
- Ibatis配置文件问题
- 急问:关于Sun Java System Access Manager
- 中国科学技术大学软件工程硕士2006年苏州在职班招生(散分)
- 大家能不能给我推荐一个耗用的自动生成 javabean的好工具谢谢
- 超级求助 渥太华大学一年级java问题
- Lomboz中jstl编译的问题
- BMP的初学者问题!??请有过次方面经验的人不吝指教!!多谢!
- J2EE 1.3+JDK 6性能为什么会比J2EE 1.3+JDK 6性能低?
- jar包批处理包引入问题
--- The error occurred while applying a result map.
--- Check the getUsersById-AutoResultMap.
--- The error happened while setting a property on the result object. 说的很清楚 你user.xml.的getUsersById这个方法的返回结果集配置有问题
<!-- 根据id获得用户对象
<select id="getUsersById" resultMap="userdb" >
select * from Users where id=#value#
</select>
-->
<select id="getUsersById" resultClass="com.pbc.evaluation.model.User">
select u_code as ucode from Users where id=#value#
</select>这两个都能不行 到底哪里出问题了 getUsersById返回的是User对象,难道不行么
select u_code as ucode from Users where id=#value#
</select> [/b]
以上的****用你的参数类型代进去。然后那个resultClass可以写成user。因为你在之前给它起了个别名了。有些默认的null值可以在java代码中控制。
private Integer id;
private String uname;
private String ucode;
private String upswd;
private String udepart;
private String uactor;
/** default constructor */
public User(Integer id,String ucode , String uname, String upswd,String udepart ,String uactor) {
this.id = id;
this.uactor=uname;
this.ucode=ucode;
this.udepart=upswd;
this.uname=udepart;
this.upswd=uactor;
}
public User() {
}
public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUcode() {
return ucode;
}
public void setUcode(String ucode) {
this.ucode = ucode;
}
public String getUpswd() {
return upswd;
}
public void setUpswd(String upswd) {
this.upswd = upswd;
}
public String getUdepart() {
return udepart;
}
public void setUdepart(String udepart) {
this.udepart = udepart;
}
public String getUactor() {
return uactor;
}
public void setUactor(String uactor) {
this.uactor = uactor;
}
}下面是dao层
public User getById(Integer id) {
return (User)getSqlMapClientTemplate().queryForObject("getUsersById",id);
}
select * from Users where id=#value#
</select> 这条sql中有个参数value,但是你没有传入参数parameterClass,不知道你这value怎么取的<select id="getUsersById" resultMap="userdb" parameterClass="int">
这样试试
select u_code as ucode from Users where id=#value#
</select>
select * from Users where id=#value#
</select>
<select id="getUsersById" resultClass="com.pbc.evaluation.model.User">
select u_code as ucode from Users where id=#value#
</select>
这两个都尝试了,无论是 parameterClass resultClass 改成什么都不行啊 ,还是包同样的错误 ,到底哪里出问题了啊 数据能插入 spring2.5 ibatis2.3
<result column="id" property="id" nullValue=""/>
<result column="u_code" property="ucode" nullValue=""/>
<result column="u_name" property="uname" nullValue="" />
<result column="u_pswd" property="upswd" nullValue=""/>
<result column="u_depart" property="udepart" nullValue=""/>
<result column="u_actor" property="uactor" nullValue=""/>
</resultMap>
<select id="getUsersById" parameterClass="string" resultClass="user">
select id as id, u_code as ucode,u_name as uname,u_pswd as upswd,u_depart as udepart,u_actor as uactor from Users where id=#value#
</select>
我将配置部分改成这样了 还是报同样的错误,到底是什么原因啊 快疯了 好几天都没搞定
<select id="getUsersById" parameterClass="java.lang.Long" resultClass="userdb">
select u_code as ucode from Users where id=#value#
</select>