【干货】自己动手打造专属代码生成工具(完结篇)

本文介绍了一款用于简化项目开发过程的代码生成工具。该工具能够自动生成与数据库表字段对应的Java实体属性及Mapper文件,避免了手动编写这些重复性高的代码。通过简单的操作流程,开发者可以快速生成所需的实体类及数据库操作接口。

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


图片描述
神兽坐镇!!
...
...
OK,进入主题,上篇说到了代码生成工具,只是演示了一下简单的操作流程。那么,说好了,这篇是贴码文,在贴码之前先大体说下原理吧(大神止步吧...)......

说到需要生成文件,不得不说说在项目开发中那些让码农们头疼的事:在项目开发中最让人头疼的就是把数据库表字段对应成java实体属性,一个数据库如果有几十个表,单单靠手写java实体的话,等项目上线了,估计实体刚建完

伦理片 http://www.dotdy.com/

再一个就是对数据库进行操作的mapper文件,一般的业务上都包括 增删改查(批/单),以及对应实体的 resultMap定义。此项工作如果没有工具的帮助,就相当于重复造轮子。因为增删改查(批/单)区别就在于表名不同、resultMap区别就在于字段不同
......
以上只是简单的举证了一下(不要嫌俺啰嗦,俺只是深恶痛绝...),说回俺这个代码生成工具,原理莫过于获取系统中的数据库列表,根据数据库获取单个数据库下的所有数据表,最后一步是最重要也是最麻烦的,要获取数据表中的字段、字段类型、字段注释等等,因为要根据字段类型生成对应的java类型变量。
(神马~~!!这TM就是所谓的原理?酱简单?你TM是不是唬我?)
没错,就是这么简单,天地良心
图片描述
下面到重点部分了,贴码!!

  • 获取所有数据库
/**
     * @Description 获取数据库列表
     * @author zhangyd
     * @date 2015年12月9日 上午10:17:33
     * @param mybatisSqlForm
     * @return
     */publicList<String> getDbNameList(TableForm mybatisSqlForm){List<String> list =newArrayList<String>();ResultSet rs =null;Connection conn =null;Statement statement =null;try{String sql ="show databases";
            rs = getResultSet(conn, statement, mybatisSqlForm.getDbAddress(), mybatisSqlForm.getDbLoginName(),
                    mybatisSqlForm.getDbPassword(), sql.toString());while(rs.next()){
                list.add(rs.getString(1));}}catch(SQLException e){
            e.printStackTrace();}finally{try{if(rs !=null){
                    rs.close();}}catch(SQLException e){
                e.printStackTrace();}try{if(statement !=null)
                    statement.close();}catch(SQLException e){
                e.printStackTrace();}try{if(conn !=null)
                    conn.close();}catch(SQLException e){
                e.printStackTrace();}}return list;}

获取数据库也是用的最基本的sql语句:show databases;

影音先锋电影 http://www.iskdy.com/

  • 获取数据库表列表
/**
     * @Description 获取字段名 列表
     * @author zhangyd
     * @date 2015年12月9日 上午10:18:07
     * @param mybatisSqlForm
     * @return
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值