MyBatis逆向工程中domainObjectRenamingRule报错或无效
使用domainObjectRenamingRule报错
在使用MyBatis逆向工程时报错如下:
org.mybatis.generator.exception.XMLParserException: XML Parser Error on line 43: 必须声明元素类型 "domainObjectRenamingRule"。
at org.mybatis.generator.config.xml.ConfigurationParser.parseConfiguration(ConfigurationParser.java:121)
at org.mybatis.generator.config.xml.ConfigurationParser.parseConfiguration(ConfigurationParser.java:82)
at org.mybatis.generator.config.xml.ConfigurationParser.parseConfiguration(ConfigurationParser.java:74)
at GeneratorSqlmap.generator(GeneratorSqlmap.java:22)
at GeneratorSqlmap.main(GeneratorSqlmap.java:32)
domainObjectRenamingRule该功能项是在MBG 1.3.6中新增加的功能,用于定义实体的重命名规则,常见的用途是取消表前缀。类似于columnRenamingRule,前者是重命名生成的模型对象的名称,后者是重命名表字段的名称。
如果在低于该版本的MBG中使用该功能,会出现如下错误XML Parser Error on line 59: 必须声明元素类型 "domainObjectRenamingRule"。
使用domainObjectRenamingRule无效
配置好了domainObjectRenamingRule后,运行逆向工程却无效果,原因是searchString的值配置不对。
根据表名来生成的类名是按照驼峰命名法,生成的类名首字母是大写的。而searchString是区分大小写的,并且它的值是Java里的正则表达式。
举个例子,现在有个表叫tb_vq,我希望生成的类名是Vq,而不是TbVq,可以通过domainObjectRenamingRule来实现这个功能,配置如下:
<table tableName="tb_vq" schema="" enableCountByExample="false"
enableDeleteByExample="false" enableUpdateByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false">
<domainObjectRenamingRule searchString="^Tb" replaceString="" />
</table>
需要注意的是,这里的searchString必须填^Tb,这是个Java正则表达式,这里不能写成^tb,必须首字母大写,否则匹配不上,另外为了避免匹配出错,这里使用了^Tb而不是Tb。
参考链接
MyBatis逆向工程中domainObjectRenamingRule报错或无效的更多相关文章
- mybatis逆向工程生成mapper报错
Result Maps collection already contains value for xxxMapper.BaseResultMap错误解决办法一.问题描述今天在做项目时,遇到一个错误: ...
- idea中maven报错:无效的目标发行版: 1.8
1.project.pom中修改版本 <maven.compiler.source>1.7</maven.compiler.source><maven.compiler. ...
- spring boot中连接数据库报错500(mybatis)
spring boot中连接数据库报错500(mybatis) pom.xml中的依赖 <!-- 集成mybatis--> <dependency> <groupId&g ...
- IE对象最后一个属性后不要加逗号,否则在IE7及以下版本中会报错
某函数返回一个对象,如果在最后一个属性后加逗号,IE7及以下版本中会报错 正确代码: return{ top:rect.top-top, bottom:rect.bottom-top, left:re ...
- iOS-C文件添加到iOS项目中,运行报错
iOS-C文件添加到iOS项目中,运行报错 问题: 往项目中添加一个空的c文件, 编译运行; 出现2,30个编译错误. 原因: 由于在项目中添加了Pch文件,在文件中所有代码还没有开始运行之前, pc ...
- maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
主要原因是maven项目里面的jar包吗,没有导入到项目中 maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframewor ...
- java中JDBC报错(一)
java中JDBC报错(一) 1.具体报错如下 com.mysql.jdbc.MySqlDataTruncation:Data truncation:Data too long for column ...
- IntelliJ IDEA中项目报错org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 8 或maven操作compile报resource使用utf8这样的编码错
问题:项目开发工具已经setting成utf-8 并且项目各方面的配置文件包括maven这些的pom.xml里的配置都已经设置为utf-8 但是还报错 IntelliJ IDEA中项目报错org.xm ...
- Python3.x:关于urllib中urlopen报错问题的解决方案
Python3.x:关于urllib中urlopen报错问题的解决方案 调用:urllib.urlopen(url) 报错:AttributeError: 'module' object has no ...
随机推荐
- Linux就该这么学--命令集合4(文件目录管理命令)
1.touch命令用于创建空白文件与修改文件时间:(touch [选项] [文件]) 对于在Linux中的文件有三种时间: 更改时间(mtime):内容修改时间(不包括权限的) 更改权限(ctime) ...
- mysql general log开启
#先查看当前状态 mysql> show variables like 'general%'; +------------------+----------------------------- ...
- 为什么要把页面放在 WEB-INF 路径下?
1.基于不同的功能 JSP 被放置在不同的目录下 这种方法的问题是这些页面文件容易被偷看到源代码,或被直接调用.某些场合下这可能不是个大问题,可是在特定情形中却可能构成安全隐患.用户可以绕过Strut ...
- codeforces 664A A. Complicated GCD(水题)
题目链接: A. Complicated GCD time limit per test 1 second memory limit per test 256 megabytes input stan ...
- BZOJ_1044_[HAOI2008]木棍分割_二分答案+DP+单调队列
BZOJ_1044_[HAOI2008]木棍分割_二分答案+DP Description 有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个 ...
- Spring 事务管理高级应用难点剖析: 第 1 部分
Spring 的事务管理是被使用得最多的功能之一,虽然 Spring 事务管理已经帮助程序员将要做的事情减到了最小.但在实际开发中,如果使用不当,依然会造成数据连接泄漏等问题.本系列以实际应用中所碰到 ...
- JavaWeb----文件的上传和下载
一.开发环境搭建 创建一个FileUploadAndDownLoad项目,加入Apache的commons-fileupload文件上传组件的相关Jar包,如下图所示: 二.实现文件上传 2.1.文件 ...
- VC解析XML--使用CMarkup类解析XML
经过今天尝试MFC解析XML串,也算有了不少收获,总结一下. 我是使用的CMarkup类对XML进行操作. CMarkup好象都是先从一个xml文件里 ...
- 【旧文章搬运】PsVoid中IrpCreateFile函数在Win7下蓝屏BUG分析及解决
原文发表于百度空间,2010-04-05========================================================================== 这也许是我 ...
- Mina学习之---mina整体流程介绍
现在公司使用的NIO框架一直时候Mina,当然这也的框架还有Netty.虽然一直在用,但只是简单的停留在业务层面,最近面试的时候有问Mina相关的东西.在之前的博客中已经对BIO,NIO,AIO这三种 ...