Java:自己实现Mysql代码生成器的一些想法

本文探讨了在处理汉语拼音缩写的政府项目中,如何通过自定义SQL查询获取表注释,以方便理解字段含义。作者分享了生成SQL语句的方法,并提出可以扩展此思路,实现类似MybatisGenerator的功能,生成实体类、DAO层和服务层代码。文章鼓励读者研究MybatisGenerator源码并动手实践。
摘要由CSDN通过智能技术生成
背景

这是之前记录的一篇日志,那时在做一个政府类项目,表字段名称是汉语拼音缩写,往往都是大表,十几二十几个字段都是家常便饭,读起来很不方便,于是想着每次写sql查询时都将表注释显示为字段名称,这样就方便知道每个字段是什么含义了,于是开始研究,怎么自动生成sql语句并且将字段注释显示为title,想要的效果如下:

在这里插入图片描述

效果如上图:就是查询结果中将字段注释显示成 title,方便知道是啥意思,因为项目涉密的原因,关键信息打了码

1.、先看这个sql语句的效果

SELECT t.* FROM information_schema.`TABLES` t WHERE TABLE_SCHEMA = 'db_name';

在这里插入图片描述

可以看到通过information_schema.TABLESTABLE_SCHEMA = 'xxx'即可查询出表的属性信息,而Mybatis Generator在生成的时候填上表名即可以自动生成类及注释(通过这个sql可以拿到注释)

2、 通过下面这个sql可以发现,可以拿到表的每个字段,通过此可以生成表的字段及注释

SELECT t.* FROM information_schema.`COLUMNS` t WHERE TABLE_SCHEMA = 'db_name' AND t.`TABLE_NAME` = 'table_name';

在这里插入图片描述
据此,能拿到表的信息以及表的字段信息,则可以据此去扩展,生成表实体及xml,思路大致有了,有空可以看一下MybatisGenerator的实现原理,它可能也是同样的实现方式,只是他做的全面一些;

3、根据上述思路实现代码

package com.yinchd.web.dao;

import com.yinchd.web.model.AjInfo;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值