根据表结构自动转换为javabean文件

需要的依赖maven如下

 <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.0</version>
        </dependency>

代码如下



import org.apache.commons.lang3.StringUtils;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.*;

public class SqlToJavaBean{
   
    public static Connection connection;

    //mysql DB连接字符串
    private static String DB_URL = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&noDatetimeStringSync=true&serverTimezone=UTC";

    private static String DB_USER = "root"; //账号

    private static String DB_PASSWD = "root"; //密码

    //mysql 驱动全限定名称
    public static String DB_DRIVER_CLASS_NAME = "com.mysql.cj.jdbc.Driver";

    static {
   
        try {
   
            Class.forName(DB_DRIVER_CLASS_NAME);
            if (connection == null || connection.isClosed())
                //获得链接
                connection = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWD);
        } catch (ClassNotFoundException ex) {
   
            ex.printStackTrace();
            System.out.println(ex.getMessage());
        } catch (SQLException e) {
   
            e.printStackTrace();
            System.out.println(e.getMessage());
        }
    }

    public SqlToJavaBean(){
   

    }

    /**
     * 表元数据
     * @param table
     * @return
     */
    public static Map<String, String> getDBTableMeta(String table){
   
        Map<String, String> colAndTypes = new HashMap();
        String sql = "select * from " + table;
        try {
   
            PreparedStatement statement = connection.prepareStatement(sql);
            //表 元数据<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
博客地址:http://blog.csdn.net/vipbooks 一直以来把数据库的转换成Entity或DTO都是一件让人头痛的事情,既浪费时间又很繁琐,看着几十上百个的几百上千个字段,真是一件让人很头痛的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接数据库生成JavaBean,但多多少少还是会有一些不尽人意的地方,包括字段的comment总是无法生成,而且还会生成很多无用的注释代码,让代码看起来一点都不干净,配置非常繁琐等等问题。 于是一怒之下,自己动手丰衣足食,就自己用Swing写了一个通过数据库的生成JavaBean的工具,支持MySQL、Oracle、SQLServce、PostgreSQL,完美支持JPA注解,可以同时生成Entity和DTO,可以自动去除前缀,并支持去除多个前缀,支持精确指定只生成哪几个的Bean,也支持模糊查找生成哪几个的Bean,现在不但成员变量上能生成备注了,而且在Getter和Setter上也能有备注了! 更重要的是所有的配置都能被保存到本地,只要配置过一次,下次使用只要点一下生成JavaBean,下一秒就能拿到你想要的JavaBean了,完全实现秒生成。并且集成各种实用工具,使得工作效率瞬间爆棚,生产力瞬间爆! 第12版更新震撼发布,此次版本更新如下: 1、新增参数配置管理功能,可以为不同的项目配置不同的参数。 2、新增快速新增参数配置功能,快速为项目添加参数配置。 3、新增选择实体注解功能,生成实体的时候自动为实体添加额外的注解。 4、弹出对话框界面大小调整。 5、新增数据源添加默认设置。 6、精确匹配在点更多时,已选中的会在弹出的列中被勾选中。 7、修复模糊匹配找不到的Bug。 8、其他一些小Bug的修改和代码优化调整。
一直以来把数据库的转换成Entity或DTO都是一件让人头痛的事情,既浪费时间又很繁琐,看着几十上百个的几百上千个字段,真是一件让人很头痛的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接数据库生成JavaBean,但多多少少还是会有一些不尽人意的地方,包括字段的comment总是无法生成,而且还会生成很多无用的注释代码,让代码看起来一点都不干净,配置非常繁琐等等问题。 于是一怒之下,自己动手丰衣足食,就自己用Swing写了一个通过数据库的生成JavaBean的工具,支持MySQL、Oracle、SQLServce,完美支持JPA注解,可以同时生成Entity和DTO,可以自动去除前缀,并支持去除多个前缀,支持精确指定只生成哪几个的Bean,也支持模糊查找生成哪几个的Bean,现在不但成员变量上能生成备注了,而且在Getter和Setter上也能有备注了! 更重要的是所有的配置都能被保存到本地,只要配置过一次,下次使用只要点一下生成JavaBean,下一秒就能拿到你想要的JavaBean了,完全实现秒生成。 这次版本更新如下: 1、新增查看数据库中所有的对话框,在精确匹配文本框旁点击更多按钮或双击精确匹配文本框, 即可弹出选择数据库的对话框,这里将列出数据库中所有的,并支持模糊查询(不区分大小写) 查找需要的,在复选框中选中需要的,点确认选择即可。 2、解决Oracle一次转换过多时出现超出打开游标的最大数异常,现在测试了一次生成四百多张 的DTO和Entity成功完成转换,只是太多速度有点慢。 3、内存占用优化,对占用的内存资源进行清理,极大的减少了程序对系统内存的占用,提高了程序的 运行效率和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值