• 大小: 668KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-09-22
  • 语言: Java
  • 标签: mysql  

资源简介

文件包含一个工具类,是mysql数据库表生成实体工具类,压缩文件中有相关jar包。目前符合我的日常需要,有缺陷的地方大家一起补充.....欢迎留言,谢谢

资源截图

代码片段和文件信息

/**
 * @(#) GenEntityMysql.java 2017-2-8 下午3:06:18
 * 
 * Copyright (c) 2014-2015 Diyvc Inc.
 * 103 Sports Road Victoria Plaza tower 1104 Tianhe District Guangzhou City China.
 * All rights reserved.
 *
 */
package com.frend.controller;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DatabasemetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetmetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Mysql2EntityGenerator {

private String packageOutPath = “com.test.domain“;//指定实体生成所在包的路径
private String authorName = “frend“;//作者名字
private String tablename = ““;//表名
private String[] colnames; // 列名数组
private String[] colTypes; //列名类型数组
private int[] colSizes; //列名大小数组
private boolean f_util = false; // 是否需要导入包java.util.*
private boolean f_sql = false; // 是否需要导入包java.sql.*
    
    //数据库连接
private static final String URL =“jdbc:mysql://127.0.0.1:3306/sqlname“;
private static final String NAME = “root“;
private static final String PASSWORD = “root“;
private static final String DRIVER =“com.mysql.jdbc.Driver“;

/*
 * 构造函数
 */
public Mysql2EntityGenerator(Connection conString tableName){
this.tablename = tableName;
     //创建连接
//查要生成实体类的表
     String sql = “select * from “ + tablename;
     PreparedStatement pStemt = null;
     try {
    
pStemt = con.prepareStatement(sql);
ResultSetmetaData rsmd = pStemt.getmetaData();
int size = rsmd.getColumnCount(); //统计列
colnames = new String[size];
colTypes = new String[size];
colSizes = new int[size];
for (int i = 0; i < size; i++) {
colnames[i] = rsmd.getColumnName(i + 1);
colTypes[i] = rsmd.getColumnTypeName(i + 1);

if(colTypes[i].equalsIgnoreCase(“datetime“)){
f_util = true;
}
if(colTypes[i].equalsIgnoreCase(“image“) || colTypes[i].equalsIgnoreCase(“text“)){
f_sql = true;
}
colSizes[i] = rsmd.getColumnDisplaySize(i + 1);
}

String content = parse(colnamescolTypescolSizes);

try {
File directory = new File(““);
String outputPath = directory.getAbsolutePath()+ “/src/“+this.packageOutPath.replace(“.“ “/“)+“/“+parseName(tablename) + “.java“;
FileWriter fw = new FileWriter(outputPath);
PrintWriter pw = new PrintWriter(fw);
pw.println(content);
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}

} catch (SQLException e) {
e.printStackTrace();
} finally{
}
    }

/**
 * 功能:生成实体类主体代码
 * @param colnames
 * @param colTypes
 * @param colSizes
 * @return
 */
private String parse(String[] colnames String[] colTypes int[] colSizes) {
StringBuffer sb = new StringBuffer();

sb.append(“pac

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-02-16 13:53  数据库表映射实体生成\
     文件      709922  2016-10-17 10:08  数据库表映射实体生成\mysql-connector-java-5.1.7-bin.jar
     文件        9289  2017-02-16 13:51  数据库表映射实体生成\Mysql2EntityGenerator.java

评论

共有 条评论