private String packagePath = "com.qy.entity"; //指定实体生成所在包的路径//表名以","分隔;若为"*"则生成所有表的entity文件

private String tableNames = "*";private String authorName = "邱宇"; //作者名字

private static final String DRIVER = "com.mysql.jdbc.Driver";private static final String URL = "jdbc:mysql://localhost:3306/protocol";private static final String NAME = "qy";private static final String PASS = "199526";private boolean f_util = false; //是否需要导入包java.util.*

private boolean f_sql = false; //是否需要导入包java.sql.*

public static voidmain(String[] args) {newCreateEntity();

}publicCreateEntity(){

String[] tables= null;if (this.tableNames=="*") {

tables=getAllTables();

}else{

tables= this.tableNames.split(",");

}for (int i = 0; i < tables.length; i++) {newCreateEntity(tables[i]);

f_util= false;

f_sql= false;

}

}publicCreateEntity(String tableName){

Connection con= null;

PreparedStatement ps= null;

ResultSet rs= null;

DatabaseMetaData dbmd= null;//ResultSetMetaData rsmd= null;

List fmls = new ArrayList();

String sql= "select * from "+tableName;try{

con=getJdbcCon();

dbmd=con.getMetaData();

rs= dbmd.getColumns(con.getCatalog(), null, tableName, null);while(rs.next()) {

FieldMeta fm= newFieldMeta();

fm.setFieldName(rs.getString("COLUMN_NAME"));if (rs.getString("TYPE_NAME").equalsIgnoreCase("datetime")|| rs.getString("TYPE_NAME").equalsIgnoreCase("date")) {

f_util= true;

}if (rs.getString("TYPE_NAME").equalsIgnoreCase("image")|| rs.getString("TYPE_NAME").equalsIgnoreCase("text")) {

f_sql= true;

}

fm.setFieldDataType(rs.getString("TYPE_NAME"));

fm.setFieldLength(Integer.parseInt(rs.getString("COLUMN_SIZE")));

fm.setFieldComment(rs.getString("REMARKS").replace("\r\n", " ")); //注释中的换行改为空格

fmls.add(fm);

}/*从resultSet读取的ResultSetMetaData没有注释等详细信息

ps = con.prepareStatement(sql);

rs = ps.executeQuery();

rsmd = rs.getMetaData();

for (int i = 0; i < rsmd.getColumnCount(); i++) {

FieldMeta fm = new FieldMeta();

fm.setFieldName(rsmd.getColumnName(i+1));

if (rsmd.getColumnTypeName(i+1).equalsIgnoreCase("datetime")) {

f_util = true;

}

if (rsmd.getColumnTypeName(i+1).equalsIgnoreCase("image")

|| rsmd.getColumnTypeName(i+1).equalsIgnoreCase("text")) {

f_sql = true;

}

fm.setFieldDataType(rsmd.getColumnTypeName(i+1));

fm.setFieldLength(rsmd.getColumnDisplaySize(i+1));

//fm.setFieldComment(fieldComment);

fmls.add(fm);

}*/}catch(SQLException e) {

e.printStackTrace();

}finally{if (con!=null) {

closeAll(rs, ps, con,null);

}

}//生成内容

String content =genFrame(fmls,tableName);//System.out.println(content);//写入到文件

wirteToFile(content,this.packagePath,tableName);

}

java在src创建entity文件_java自动生成entity文件相关推荐

  1. 在WebStorm里配置watcher实现编辑less文件时自动生成.css文件

    一.webstrom自动生成css文件 1.安装 nodejs     //查看nodejs版本  node -v //查看npm版本  npm -v //全局安装less  npm install ...

  2. java导出csv文件_java导出生成csv文件的方法

    本文实例为大家分享了java导出生成csv文件的具体代码,供大家参考,具体内容如下 首先我们需要对csv文件有基础的认识,csv文件类似excel,可以使用excel打开,但是csv文件的本质是逗号分 ...

  3. Android艺术探索笔记 - 创建AIDL文件后自动生成的文件分析

    在Eclipse新建aidl如下 Book.aidl定义: //Book类在aidl的声明,要在IBookManagerimportbook类,否则IBookManager报错找不到Book类 pac ...

  4. 自动生成PDF文件(Java通过PDF模板自动生成PDF)

    思路: 1.创建PDF模板(先创建对应的excel文件,创建好后另存为PDF文件)即可. 2.使用Adobe Acrobat DC工具打开PDF文件,设置自己想要替换的内容. 3.maven项目引入依 ...

  5. Python创建文件时自动生成文件信息

    Python创建文件时自动生成文件信息 在创建python脚本文件时,对文件初始化自动生成一些文件信息来进行设置 1 打开路径 2 调整面板 3 面板填写样式 参考链接 Pycharm创建文件时自动生 ...

  6. java自动生成entity文件

    网上关于自动生成entity文件的代码很多,看了很多代码后,在先辈们的基础上再完善一些功能(指定多个表,全部表). 为了使用方便所以把两个类写在一个java文件中,所以大家可以直接拿这个java文件, ...

  7. Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,

    Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,和SVN没有关 ...

  8. java 生成dump文件_程序自动生成Dump文件

    前言:通过drwtsn32.NTSD.CDB等调试工具生成Dump文件,drwtsn32存在的缺点虽然NTSD.CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD.CDB等调试工具.了解了m ...

  9. c 自动生成html文件,webpack4系列教程(三):自动生成项目中的HTML文件

    1. webpack中的CommonJS和ES Mudule 规范 1.1 CommonJs规范 CommonJs规范的出发点:JS没有模块系统.标准库较少.缺乏包管理工具:为了让JS可以在任何地方运 ...

最新文章

  1. JDBC编程专题4之JDBC驱动程序类型
  2. 是程序员,就用python导出pdf
  3. 前端面试-综合问题版
  4. xp下安装redmine 2.4.3
  5. oracle 月份期差,Oracle Database 日期算术-日期之间的月份或年份之间的差异
  6. 区块链行业级应用服务商识数信科获千万元天使轮融资...
  7. java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...
  8. c#winform演练 ktv项目 制作歌曲播放列表
  9. new一个对象的过程中发生了什么
  10. 2016年1月20日总结
  11. 组策略应用到本地安全策略
  12. Docker容器服务发现方案
  13. mysql错误1215hy000_无法添加外键约束-MySQL错误1215(HY000)
  14. echart 表格_市政工程表格不会填?市政工程1000个表格模板,一键即可套用
  15. 睿智的目标检测26——Pytorch搭建yolo3目标检测平台
  16. 蓝桥杯web开发-5道模拟题让你信心满满
  17. 文件及文件夹删除失败的解决方法
  18. 联通校园网避免检测随身wifi方法
  19. qq批量登录软件_把微信PC版越甩越远:QQ电脑版这些新功能太良心
  20. php的ct表现,图文详解丨气胸的影像学表现

热门文章

  1. 高压五防计算机软件安装,基于Android的新一代五防钥匙软件系统
  2. 如何确保TCP协议传输稳定可靠?
  3. 构建之法 阅读笔记01
  4. Python - 字符串
  5. [Struts]Token 使用及原理
  6. MySQL --log-slave-updates
  7. Android柳叶刀之Button之UI交互
  8. android调用web service(cxf)实例
  9. 第五次电信分拆敷陈幕后:激发运营商乖戾反弹
  10. dokcer 运行和进入容器