sping+ibatis集成开发时出错
出错代码如下:
com.ibatis.sqlmap.client.SqlMapException: There is no statement named getUserin this SqlMap.at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:293)at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:557)at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541)at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)at org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient(SqlMapClientTemplate.java:210)at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:168)at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:208)at com.tom.test.ibatis.dao.ibatis.UserDaoIbatis.getUser(Unknown Source)at com.tom.test.ibatis.service.impl.UserServiceImpl.getUser(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)at $Proxy1.getUser(Unknown Source)
public class UserDaoIbatis extends BaseDao implements UserDao { public User getUser(Integer id){return (User) this.getSqlMapClientTemplate().queryForObject("getUser", id);}public Collection getUsers(){return this.getSqlMapClientTemplate().queryForList("getAllObjects", null);}public void saveUser(User user) throws DataAccessException {this.getSqlMapClientTemplate().insert("insertObject", user);}}public class User extends BaseBean{/** * */private static final long serialVersionUID = 1L;private Integer Id;private String userName;private String userInfo;public Integer getId() {return Id;}public void setId(Integer id) {Id = id;}public String getUserInfo() {return userInfo;}public void setUserInfo(String userInfo) {this.userInfo = userInfo;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}}<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><bean id="propertyConfigurer" ><value>classpath:com/tom/test/ibatis/dao/ibatis/sql-map-config.xml</value></property> </bean> <bean id="dao" name="code"><?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"><sqlMapConfig> <settings enhancementEnabled="true" maxTransactions="10" maxRequests="128" maxSessions="20"/> <sqlMap resource="com/tom/test/ibatis/bean/User.xml"/></sqlMapConfig>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"><sql-map namespace="User"> <typeAlias alias="User" type="com.tom.test.ibatis.bean.User"/> <result-map name="UserResult" column="id"/> <property name="userName" column="user_name"/> <property name="userInfo" column="user_info"/> </result-map> <insert id="insertObject" parameterresultMap="UserResult"> select * from user </select> <select id="getUser" parameterresultname="code"><?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 namespace="UserSql"> <typeAlias alias="user" type="com.tom.test.ibatis.bean.User"/> <resultMap id="result" column="id"/> <result property="userName" column="user_name"/> <result property="userInfo" column="user_info"/> </resultMap> <insert id="insertObject" parameterkeyProperty="id" > SELECT @@IDENTITY AS ID </selectKey> </insert> <select id="getUser" parameterresultresultMap="result"> select * from user </select></sqlMap>