逆向的几个坑 总结Mybatis Generator 无法生成selectByPrimaryKey、deleteByPrimaryKey、updateByPrimaryKey MySQL

本文探讨了使用MyBatis Generator时常见的三个问题:表存在多个schema导致XML文件重复生成、targetRuntime设置不当影响动态代码生成、以及主键识别问题。提供了配置useInformationSchema属性来解决主键识别的方案,并建议使用bootDo框架自动化代码生成,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三大坑及建议

1. 当一张表存在多个 schmeal时  会根据每个schemal生成 重复的xml 文件

查询当前表schemalSELECT DISTINCT table_schema from information_schema.columns WHERE table_name = 'xxxxxxxxxxxxxxxx';

2.设置targetRuntime=MyBatis3。如果targetRuntime=MyBatis3Simple将不会生成sample动态代码.

3.不生成ByprimaryKey之类的方法 是转载 就不识别主键的原因

转载 .......................很纳闷为什么升级了高版本反而有问题了呢,想到这既然是普遍问题,那应该别人早就遇到过这个问题了,网上搜了下,果然很多人在问这个问题。

最终看到一篇文章找到了解决方法:

在jdbcConnection节点里配置useInformationSchema属性,可以解决mybatis-generator不识别主键问题:

<jdbcConnection driverClass="com.mysql.jdbc.Driver"    connectionURL="jdbc:mysql://localhost:3306/test"
         userId="root" password="rootroot">
     <!--设置为 true 可以获取 tables 信息, 解决生成文件缺少 xxxByPrimaryKey 的问题 -->
     <property name="useInformationSchema" value="true"/>

--------------------- 
4. 个人建议  bootDo 框架 已经集成好了代码自动生成的工具,自动生成代码的功能,大家没必要自己再研究这个,只跑bootdo 功能菜单 就可以自动生成了。 

 powerDesiger 设计表 →  数据库执行脚本→ 完事儿后直接跑bootdo框架功能菜单 完事儿,,表的增删改基本都有了。从dao mapper service controller 以及页面就都有,大家应该把注意力 放在 整体流程,和比较关键的细节上,这样才能码出高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值