Mapped Statements collection does not contain value for

matrix1984 2014-07-13 07:43:11
今天搞了个MyBatis+Spring的Demo,本来好好的,不知道是因为执行了mvn install/clean等命令,突然就不行了,哎,太折腾了。

下面贴下spring和myBatis的配置:


appctx-common.xml(省略了beans的namesapce):

<!-- 开启Autowired、Common、Persistence及Required标注的支持 -->
<context:annotation-config />

<context:property-placeholder location="classpath:jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- Connection Pooling Info -->
<property name="maxActive" value="${dbcp.maxActive}" />
<property name="maxIdle" value="${dbcp.maxIdle}" />
<property name="defaultAutoCommit" value="false" />
<property name="timeBetweenEvictionRunsMillis" value="3600000"/>
<property name="minEvictableIdleTimeMillis" value="3600000"/>
</bean>

<!-- MyBatis integration with Spring as define sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis/mybatis-configuration.xml" />
<!--<property name="mapperLocations" value="classpath*:cn/git/mis/common/model/mapper/*.xml" />-->
</bean>
<!-- 采用扫描指定包的mapper接口,而不是一一定义每个mapper -->
<bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.git.mis.common.model.mapper" />
<!-- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> -->
</bean>

<!-- transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />


mybatis-configuration.xml:

<configuration>
<typeAliases>
<typeAlias alias="User" type="cn.git.mis.common.model.bean.User" />
</typeAliases>
</configuration>


UserMapper.xml:

<mapper namespace="cn.git.mis.common.model.mapper.UserMapper">
<insert id="insertUser" parameterType="User" useGeneratedKeys="false" keyProperty="id">
insert into T_USER(id,gender,username,password) values(SEQ_USER_ID.nextval,#{gender},#{username},#{password})
</insert>

<select id="getUser" resultType="User" parameterType="map">
select * from T_USER where username = #{username} and password = #{password}
</select>
<select id="getUserById" resultType="User" parameterType="java.lang.Long">
select * from T_USER where id=#{id}
</select>

<update id="updateUser" parameterType="User">
update T_USER set gender=#{gender}, username = #{username} where id = #{id}
</update>
<update id="updateUserPwd" parameterType="map">
update T_USER set password=#{password} where id = #{id}
</update>

<delete id="deleteUserById">
delete from T_USER where id = #{id}
</delete>
</mapper>


各位大虾帮看下哪里有问题。
...全文
3260 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pursuitofcalm 2014-11-05
  • 打赏
  • 举报
回复
我也是这个问题,烦死啦
blackbeauty1988 2014-10-08
  • 打赏
  • 举报
回复
最近在看mybatis 遇到了和您一样的问题,麻烦您能解答一下,这是什么原因啊?
matrix1984 2014-07-13
  • 打赏
  • 举报
回复
谁回复下,我就给分:)并给出问题所在。
matrix1984 2014-07-13
  • 打赏
  • 举报
回复
执行MyBatisTest错误: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for cn.git.mis.common.model.mapper.UserMapper.getUser at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:672) at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:507) at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:500) at org.apache.ibatis.binding.MapperMethod.setupCommandType(MapperMethod.java:240) at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:71) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:39) at $Proxy7.getUser(Unknown Source) at cn.git.mis.common.MyBatisTest.userTest(MyBatisTest.java:33)
matrix1984 2014-07-13
  • 打赏
  • 举报
回复
MyBatisTest.java

public class MyBatisTest {
	private static ApplicationContext xmlAppCtx = null;
	static {
		xmlAppCtx = new ClassPathXmlApplicationContext("classpath:spring/appctx-common.xml");
	}
	
	@Test
	public void userTest() {
		// Query
		Map<String, Object> param = new HashMap<String, Object>();
		param.put("username", "Langhia");
		param.put("password", "123456");
		User _user = mapper.getUser(param);
		Assert.assertNotNull(_user);
	}
	
}

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧