开发者社区> 问答> 正文

mybatis Mapper的 namespace 是有限制的吧??报错

项目存在这样一个类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就没有问题。 

展开
收起
爱吃鱼的程序员 2020-06-22 19:08:47 1101 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

    <preclass="brush:java;toolbar:true;auto-links:false;">Blogblog=session.selectOne("org.mybatis.example.BlogMapper.selectBlog",101);

    ThisnamecanbedirectlymappedtoaMapperclassofthesamenameasthenamespace,withamethodthatmatchesthename,parameter,andreturntypeasthemappedselectstatement.

    <preclass="brush:java;toolbar:true;auto-links:false;">BlogMappermapper=session.getMapper(BlogMapper.class);Blogblog=mapper.selectBlog(101);如果namespace和类不相同,用第一种,如果和类相同,用第二种更好

    2020-06-22 19:09:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题) 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载