1. UUID 128位占用空间较多
    2. (重要)UUID是无序的在插入数据时会造成索引重排,如果是有序的主键直接在B+树的最后插入数据即可

IDEA中执行mybatis-generator不能自动生产mapper

杂谈 骐骏 4年前 (2017-05-22) 3302次浏览 已收录 2个评论 扫描二维码

刚刚从myeclipse离开投入IDEA的怀抱,遇见些工具使用方面的问题,慢慢记录下,以备不时之需。

奇怪的问题,在使用mybatis-generate时,同一份代码在myeclipse中执行没有问题,在IDEA中却疯狂报错

纠结半天之后,本着先完成code的心态,在eclipse中生成文件后提交svn,然后在IDEA中更新,呵呵哒。。。秋后算账。。。

问题解决
  1. 运行时配置修改
    IDEA中执行mybatis-generator不能自动生产mapper
    IDEA中执行mybatis-generator不能自动生产mapper
    如图,将working directory修改为$MODULE_DIR$

  2. 修改项目依赖jar包顺序
    IDEA中执行mybatis-generator不能自动生产mapper
    将module source依赖移到最上方

  3. 修改maven 依赖中generator的范围


org.mybatis.generator mybatis-generator-core <!--<scope>provided</scope>-->

不可以使用provided范围,直接注释掉使用默认范围。

知识点回顾
maven依赖范围的作用域:

依赖范围scope 用来控制依赖和编译,测试,运行的classpath(注意是与classpath)的关系. 主要的是三种依赖关系如下:

1.compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效。
有些依赖在主代码中需要import,在测试代码中也需要import,打包的时候还需要一起打包上传服务器,则scope是compile。
2.test:测试依赖范围。只对于测试classpath有效
有些代码是测试需要import,而主代码中不需要,我们不需要把junit打包上传到服务器,则scope是test
3.provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api
以servlet-api为例,tomcat中已经提供了servlet-api的jar包,但是本地写代码的时候,只需要import进去,而不需要把servlet-api的jar包打包到服务器上,如果打包了,可能会产生jar包冲突,这个时候用provided
4.runtime:运行时提供。例如:jdbc驱动
例如MySQL的jdbc驱动,在本地写代码的时候,我们都是引入的jdbc接口,并不需要引入具体的jdbc驱动实现,所以写代码的时候并不需要,而运行的时候,我们需要使用具体的驱动,这样的jar包我们的scope为runtime。


原创不易,转载请注明原文链接:IDEA中执行mybatis-generator不能自动生产mapper
喜欢 (2)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址