mybatis Mapper的 namespace 是有限制的吧?

dawning 发布于 2013/06/03 21:36
阅读 6K+
收藏 0

项目存在这样一个类org.dawn.mybatis.model.User

Mapper namespace设为org.dawn.mybatis.model.user 就会报错:

java.lang.NoClassDefFoundError: org/dawn/mybatis/model/user (wrong name: org/dawn/mybatis/model/User)

设为org.dawn.mybatis.model.User就没有问题。 

加载中
0
南湖船老大
南湖船老大
没看明白,你那不是大小写问题么?
南湖船老大
南湖船老大
回复 @dawning : 我们一般写在type里面,没怎么注意过namespace。type="cn.xxt.album.domain.UserAlbum"
dawning
dawning
mybatis文档上说MapperXML文件中的namespace可以是任意值,namespace的值试过org.dawn.mybatis.model.useraa都没有问题,但就是org.dawn.mybatis.model.user会报问题中的错误,不知道是什么原因?
0
dawning
dawning
NoClassDefFoundError很奇怪,难道Mybatis会根据Mapper的namespace的值动态生成一个类么??然后由于类重名导致错误么?
0
3_14159265359
3_14159265359

Blog blog = session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);

This name can be directly mapped to a Mapper class of the same name as the namespace, with a method that matches the name, parameter, and return type as the mapped select statement.

BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
如果namespace和类不相同,用第一种,如果和类相同,用第二种更好

返回顶部
顶部