mybatis-generator的jar包更改dao类命名规则
来源:互联网 发布:中国it系统集成商排名 编辑:程序博客网 时间:2024/06/08 18:00
基于mybatis-generator-core-1.3.2.jar的实现。该jar包是用来实现自动生成mybatis的DO类,DAO类和*Mapper.xml文件的。
使用该jar包需要依赖sql驱动包。
需求:只在配置文件config中配置domainObjectName为TestUser,则生成的DO为TestUserDO,生成的DAO为TestUserDAO,生成的Mapper.xml文件为TestUserMapper.xml。
现状:由于使用的mybatis是3以上的版本,而对于generator来说,mybatis3的版本生成的是DO为TestUser,DAO为TestUserMapper;故需要修改源码。
解决办法:下载源码包,然后找到org/mybatis/generator/api/IntrospectedTable.java类。calculateJavaClientAttributes()方法是设置生成DAO类的,
protected void calculateJavaClientAttributes() { if (context.getJavaClientGeneratorConfiguration() == null) { return; } StringBuilder sb = new StringBuilder(); sb.append(calculateJavaClientImplementationPackage()); sb.append('.'); sb.append(fullyQualifiedTable.getDomainObjectName()); sb.append("DAOImpl"); //$NON-NLS-1$ setDAOImplementationType(sb.toString()); sb.setLength(0); sb.append(calculateJavaClientInterfacePackage()); sb.append('.'); sb.append(fullyQualifiedTable.getDomainObjectName()); <strong> sb.append("DAO"); //$NON-NLS-1$</strong> setDAOInterfaceType(sb.toString()); sb.setLength(0); sb.append(calculateJavaClientInterfacePackage()); sb.append('.'); sb.append(fullyQualifiedTable.getDomainObjectName()); sb.append("DAO"); //$NON-NLS-1$ setMyBatis3JavaMapperType(sb.toString()); sb.setLength(0); sb.append(calculateJavaClientInterfacePackage()); sb.append('.'); sb.append(fullyQualifiedTable.getDomainObjectName()); sb.append("SqlProvider"); //$NON-NLS-1$ setMyBatis3SqlProviderType(sb.toString()); }
将
<strong> <span style="color:#FF0000;">setMyBatis3JavaMapperType(sb.toString());</span></strong>前面的Mapper改成DAO则可以实现生成TestUserDAO类。
protected void calculateModelAttributes() { String pakkage = calculateJavaModelPackage(); StringBuilder sb = new StringBuilder(); sb.append(pakkage); sb.append('.'); sb.append(fullyQualifiedTable.getDomainObjectName()); sb.append("Key"); //$NON-NLS-1$ setPrimaryKeyType(sb.toString()); sb.setLength(0); sb.append(pakkage); sb.append('.'); sb.append(fullyQualifiedTable.getDomainObjectName()); sb.append("DO");//modify by tianzhilong <strong>setBaseRecordType(sb.toString());</strong> sb.setLength(0); sb.append(pakkage); sb.append('.'); sb.append(fullyQualifiedTable.getDomainObjectName()); sb.append("WithBLOBs"); //$NON-NLS-1$ setRecordWithBLOBsType(sb.toString()); sb.setLength(0); sb.append(pakkage); sb.append('.'); sb.append(fullyQualifiedTable.getDomainObjectName()); sb.append("Example"); //$NON-NLS-1$ setExampleType(sb.toString()); }
<span style="color:#FF0000;">setBaseRecordType(sb.toString());</span>在该方法前面追加DO即可实现生成TestUserDO类。
这样就可以解决生成类的命名问题,可以便利使用。
1 0
- mybatis-generator的jar包更改dao类命名规则
- MyBatis Generator自动创建SSM框架mapping pojo dao包下的代码详解
- mybatis generator dao扩展
- java包的命名规则
- java包的命名规则
- MyBatis Generator自动创建代码所需jar包
- 使用MyBatis Generator生成DAO
- 使用MyBatis Generator生成DAO
- 使用MyBatis Generator生成DAO
- mybatis-generator生成相对应的po、dao以及mapper
- 用mybatis-generator的逆向工程生成bean和dao
- mybatis generator 自定义类名(修改mybatis-generator-1.3.2源码改dao类名)
- MySQL下MyBatis通过Generator生成Dao和Model类
- 使用MyBatis Generator自动生成DAO以及实体类
- 记录帖 -- MyBatis的mybatis-generator-core-1.3.2.jar
- 关于java的类与包的命名规则
- Java中包、类、方法、属性、常量的命名规则
- Java中包、类、方法、属性、常量的命名规则!
- 利用redis + lua解决抢红包高并发的问题
- Eclipse不自动弹出提示(alt+/快捷键失效)
- AE+C# 给图层添加字段
- 【LeetCode with Python】 Add Two Numbers
- PHP读取Excel里的文件
- mybatis-generator的jar包更改dao类命名规则
- Windows下安装php_http
- 有了FDD牌照 中国电信还是打不过中移动
- POJ-3069 Saruman's Army
- 使用create database语句创建数据库的详细操作步骤
- 黑马程序员----面试题之银行调度系统
- IPC函数总结
- tomcat的疑难杂症
- andrroid couldn't open database for writing(will try read-only)