网站首页 > 技术文章 正文
大家好,结合上一篇介绍父包配置多个模块,为何要配置多个模块呢?
1. 方便解耦,独立运行;
2. 支持不同的数据源;
3. 按需依赖,比如子服务包yl-chis(服务)我只需要依赖parent-chis里面的mapper相关接口就可以了;如yl-report报表统计可能需要依赖多个父模块。
那model,mapper里面的代码都需要自己敲吗?可以自己敲,也可以通过mybatis的自动生成工具generatorConfiguration,下面就结合项目介绍下该工具的使用
1.首先在对应模块parent-public的pom中配置plugin
注意:这个plugin使用dependencies引入了mysql 的驱动和mybatis的相关jar包,这个不能省略
2.结合plugin配置指向的src/main/resources/generatorConfig.xml创建生成工具
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!--指定驱动的路径--> <classPathEntry location="d:/mysql-connector-java-5.1.38.jar" /> <context id="mybatisDemoForMysql" targetRuntime="MyBatis3"> <plugin type="org.mybatis.generator.plugins.CaseInsensitiveLikePlugin"></plugin> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin> <!-- Pagination --> <plugin type="com.gy.mybatisGenerator.plugin.MySQLPaginationPlugin"></plugin> <!-- 控制注释 --> <commentGenerator> <!-- 是否去除所有自动生成的注释文件 --> <property name="suppressAllComments" value="true" /> <!-- 是否去除所有自动生成的文件的时间戳,默认为false --> <property name="suppressDate" value="true" /> </commentGenerator> <!-- 指向数据库 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://****:3306/public" userId="" password=""> </jdbcConnection> <javaTypeResolver> <!-- 把jdbc中的decimal与numberic类型转化为integer类型 --> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 数据库表对应的model --> <javaModelGenerator targetPackage="com.zw.basic.model" targetProject="../parent-common/src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 控制Model的xmlMapper文件 --> <sqlMapGenerator targetPackage="com.zw.parent.basic.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 控制mapper接口 --> <javaClientGenerator targetPackage="com.zw.parent.basic.mapper" type="XMLMAPPER" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> <property name="methodNameCalculator" value="extended" /> </javaClientGenerator> <table tableName="tb_user" domainObjectName="User" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"> <!-- 指定数据库自增字段 --> <generatedKey column="user_id" sqlStatement="Mysql"/> </table> </context> </generatorConfiguration>
3.项目执行方式
在idea添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件
Step1:选择配置edit configuration
Step2:创建maven运行项
Step3:配置命令 mybatis-generator:generate -e
注意:
working directory要指向具体哪个模块的生成工具generate;
mybatis-generator:generate -e 其中-e为了让插件输出详细信息,方便定位问题;
4.点击运行看效果
己经达到效果,自动生成了model及mapper,另外generate生成工具只对单表生成,多表联合需要自己写
5.现在我们编译看效果
编译成功,己发布到本地库,现在子项目就自动依赖了
6.启动看效果
谢谢大家多多关注,想要代码及学习资料的关注私信我,谢谢!!!
猜你喜欢
- 2024-10-02 MySQL用的再溜,不知道业务如何设计也白搭!!!
- 2024-10-02 JShaman本地部署专业版,批量加密工具「源码」
- 2024-10-02 UWP 自定义密码框控件(uwp+自定义密码框控件怎么用)
- 2024-10-02 干货-带你总结Mysql相关优化(mysql常用优化方案)
- 2024-10-02 Redis全文搜索教程之创建索引并关联源数据
- 2024-10-02 PHP数据类型与常量(php的数据类型主要有哪几种?)
- 2024-10-02 TensorFlow2学习25、TF2.0使用YoloV3
- 2024-10-02 Java对象内存布局(java对象在内存中如何存储)
- 2024-10-02 PHP手机和身份证号打码,生成随机数,判断逗号隔开的数字串等
- 2024-10-02 杀死僵尸进程,你需要这些神奇高效的Linux命令行
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 527℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 492℃MySQL service启动脚本浅析(r12笔记第59天)
- 472℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 469℃启用MySQL查询缓存(mysql8.0查询缓存)
- 450℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 429℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 426℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)