当前使用版本(必须填写清楚,否则不予处理)

3.2.0

该问题是怎么引起的?(最新版上已修复的会直接close掉)

建议增加 @entityTableNameAnnotationEnable 注解,功能类似@entityTableFieldAnnotationEnable,强制生成@TableName注解,这样可以解决表名中有数字、下划线组合的问题,实际应用中,还是会有这种表名的命名习惯,例如:关系表

重现步骤

报错信息

Comment From: chunjies

@TableName 这个怎么用代码生成器生成出来

Comment From: RexFang

版本:3.2.0 1、建议支持读取数据库字段长度,方便生成校验逻辑 2、建议提供忽略字段功能,方便排除无需生成的字段,例如:version, createUserId, createDate, updateUserId, updateDate, deleted 3、建议提供方便模板扩展的方式,目前内置的模板并不能满足所有的业务场景,例如: biz 模板

Comment From: RexFang

4、建议提供,是否允许数据表和字段备注为空的开关,方便生成校验逻辑

Comment From: miemieYaho

产...产品经理?

Comment From: RexFang

产...产品经理?

没有呀,使用过程中感觉不是很方便的地方,提一下建议

Comment From: RexFang

产...产品经理?

2 ,3和4 已经在覆盖源码的基础上搞定了,2和4 还好,3 确实有点费劲,1看到底层代码,要在你们的基础上扩展,工作量有点大,放弃了

Comment From: qmdx

产...产品经理?

2 ,3和4 已经在覆盖源码的基础上搞定了,2和4 还好,3 确实有点费劲,1看到底层代码,要在你们的基础上扩展,工作量有点大,放弃了

你说的那几点都是支持的 https://mp.baomidou.com/guide/generator.html 【字段其他信息查询注入,这是你要的 1 功能】

Comment From: RexFang

产...产品经理?

2 ,3和4 已经在覆盖源码的基础上搞定了,2和4 还好,3 确实有点费劲,1看到底层代码,要在你们的基础上扩展,工作量有点大,放弃了

你说的那几点都是支持的 https://mp.baomidou.com/guide/generator.html 【字段其他信息查询注入,这是你要的 1 功能】

好的,我看看,谢谢

Comment From: zzdehao

急需3这个功能, 其他的还好, 3这个功能能大大缩短开发时间. 如果只是简单的CRUD的话, 全都生成包括前端的东西以前都生成了, 现在这个只能生成后台的还是比较费事的.

Comment From: fadeaway24

1.版本:mybatis-plus 3.3.0 2重现步骤:代码生成器策略配置中,设置表名前缀:(完整表名:data_collection_device_datail)strategy.setTablePrefix(“data_collection_”); 代码生成成功,执行报错 3.报错信息:org.springframework.jdbc.BadSqlGrammarException:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'mydb.device_datail' doesn't exist

4.根本原因是代码生成的时候配了表名前缀,却没有在生成出来的model类DeviceDatail追加@TableName(data_collection_device_datail)注解,导致实体类名和数据库表名映射不一致报错 5.期望:在代码生成器配置的时候,能够给生成的实体类配置@TableName注解,就像自动加上了@Data注解一样

Comment From: pengback

看了下源码,发现使用entityTableFieldAnnotationEnable能自动生成@TableField注解。请问,如何配置才能生成 @TableName() 注解

Comment From: nieqiurong

1.版本:mybatis-plus 3.3.0 2重现步骤:代码生成器策略配置中,设置表名前缀:(完整表名:data_collection_device_datail)strategy.setTablePrefix(“data_collection_”); 代码生成成功,执行报错 3.报错信息:org.springframework.jdbc.BadSqlGrammarException:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'mydb.device_datail' doesn't exist

4.根本原因是代码生成的时候配了表名前缀,却没有在生成出来的model类DeviceDatail追加@TableName(data_collection_device_datail)注解,导致实体类名和数据库表名映射不一致报错 5.期望:在代码生成器配置的时候,能够给生成的实体类配置@TableName注解,就像自动加上了@DaTa注解一样

这是和全局表名前缀共用得,https://mp.baomidou.com/config/#tableprefix.

Comment From: nieqiurong

强制生成@TableName()注解得,看版本记录更新是在3.2.1的时候,指定entityTableFieldAnnotationEnable之后强制生成了注解. https://gitee.com/baomidou/mybatis-plus/issues/IM3XE