如下的内容内容是关于java从数据库映射实体类的内容。

package com.share.barter.tool;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Date;

public class GenEntity {

 private static final String NAME = "root";private static final String PASS = "root";private static final String DRIVER ="com.mysql.jdbc.Driver";public GenEntity(){Connection con;PreparedStatement pStemt = null;try {try {Class.forName(DRIVER);} catch (ClassNotFoundException e1) {e1.printStackTrace();}con = DriverManager.getConnection(URL,NAME,PASS);pStemt = con.prepareStatement(sql);ResultSetMetaData rsmd = pStemt.getMetaData();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(colnames,colTypes,colSizes);try {File directory = new File("");String path=this.getClass().getResource("").getPath();System.out.println(path);System.out.println("src/?/"+path.substring(path.lastIndexOf("/com/", path.length())) );FileWriter fw = new FileWriter(directory.getAbsolutePath()+ "/src/"+path.substring(path.lastIndexOf("/com/", path.length()), path.length()) + initcap(tablename) + ".java");PrintWriter pw = new PrintWriter(fw);pw.println(content);pw.flush();pw.close();} catch (IOException e) {e.printStackTrace();}} catch (SQLException e) {e.printStackTrace();} finally{}
}private String parse(String[] colnames, String[] colTypes, int[] colSizes) {StringBuffer sb = new StringBuffer();if(f_util){sb.append("import java.util.Date;rn");}if(f_sql){}sb.append("package com.share.barter.tool;rn");sb.append("rn");sb.append("rnrnpublic class " + initcap(tablename) + "{rn");sb.append("}rn");return sb.toString();
}private void processAllAttrs(StringBuffer sb) {for (int i = 0; i < colnames.length; i++) {sb.append("tprivate " + sqlType2JavaType(colTypes[i]) + " " + colnames[i] + ";rn");}}private void processAllMethod(StringBuffer sb) {for (int i = 0; i < colnames.length; i++) {sb.append("tpublic void set" + initcap(colnames[i]) + "(" + sqlType2JavaType(colTypes[i]) + " " + colnames[i] + "){rn");sb.append("tthis." + colnames[i] + "=" + colnames[i] + ";rn");sb.append("t}rn");sb.append("tpublic " + sqlType2JavaType(colTypes[i]) + " get" + initcap(colnames[i]) + "(){rn");sb.append("ttreturn " + colnames[i] + ";rn");sb.append("t}rn");}}private String initcap(String str) {char[] ch = str.toCharArray();if(ch[0] >= 'a' && ch[0] <= 'z'){ch[0] = (char)(ch[0] - 32);}return new String(ch);
}private String sqlType2JavaType(String sqlType) {if(sqlType.equalsIgnoreCase("bit")){return "boolean";}else if(sqlType.equalsIgnoreCase("tinyint")){return "byte";}else if(sqlType.equalsIgnoreCase("smallint")){return "short";}else if(sqlType.equalsIgnoreCase("int")){return "int";}else if(sqlType.equalsIgnoreCase("bigint")){return "long";}else if(sqlType.equalsIgnoreCase("float")){return "float";}else if(sqlType.equalsIgnoreCase("decimal") || sqlType.equalsIgnoreCase("numeric") || sqlType.equalsIgnoreCase("real") || sqlType.equalsIgnoreCase("money") || sqlType.equalsIgnoreCase("smallmoney")){return "double";}else if(sqlType.equalsIgnoreCase("varchar") || sqlType.equalsIgnoreCase("char") || sqlType.equalsIgnoreCase("nvarchar") || sqlType.equalsIgnoreCase("nchar") || sqlType.equalsIgnoreCase("text")){return "String";}else if(sqlType.equalsIgnoreCase("datetime")){return "Date";}else if(sqlType.equalsIgnoreCase("image")){return "Blod";}return null;
}public static void main(String[] args) {new GenEntity();}

}

java从数据库映射实体类的代码相关推荐

  1. dao和mysql映射_hibernate通过数据库生成实体类,映射文件和DAO(实用)

    hibernate通过数据库生成实体类,映射文件和DAO(实用) (2011-04-06 17:22:32) 标签: 杂谈 上次谈到利用MyEclipse从数据库反向生成实体类之JPA方式,这次我们来 ...

  2. Java实现自动生成Mysql数据库表实体类

    2019独角兽企业重金招聘Python工程师标准>>> 一个工具类就可以实现啦,直接看代码及注释,很方便理解,从一位博主那里拿到加上自己优化一部分的 注:侵删(忘了原博主信息) My ...

  3. Mybatis自动生成实体类等代码

    Mybatis自动生成实体类等代码 具体步骤 具体步骤 在本机随便找个目录存放以下文件,如图(mybatis-generator-core-1.3.5.jar 和 mysql-connector-ja ...

  4. python映射实体类_【HIBERNATE框架开发之二】第一个HIBERNATE-ANNONATION项目(采用@ENTITY、@ID直接映射实体类)...

    紧接上一篇,这里Himi直接copy上一篇创建的HelloHibernate项目,然后改名为:HelloAnnonation,Ok: OK,准备工作: 首先第一步,继续再我们自定义的user libr ...

  5. Spring JdbcTemplate的queryForList(String sql , Class<T> elementType)返回非映射实体类的解决方法

    Spring JdbcTemplate的queryForList(String sql , Class elementType)返回非映射实体类的解决方法 参考文章: (1)Spring JdbcTe ...

  6. springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出错的解决办法

    springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出错的解决办法 参考文章: (1)springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出 ...

  7. java中如何遍历实体类的属性和数据类型以及属性值

    package com.walkerjava.test;import java.lang.reflect.Field;import java.lang.reflect.InvocationTarget ...

  8. python映射实体类_将Python(django)实体类转换为Java的好方法 - java

    我正在寻找一种"复制" /将模型从Python源代码转换为Java源代码的好方法.我的想法是在服务器上使用Python django框架生成实体模型类.另一方面,我想将实体类转换为 ...

  9. java vo转map_javabean实体类对象转为Map类型对象的方法(转发)

    //将javabean实体类转为map类型,然后返回一个map类型的值 public static Map beanToMap(Object obj) { Map params = new HashM ...

  10. Project(1)——创建数据库、实体类、用户注册的持久层

    Project(1) 1.分析项目 当需要开发某个项目时,首先,应该分析这个项目中,需要处理哪些种类的数据!例如:用户.商品.商品类别.收藏.订单.购物车.收货地址- 然后,将以上这些种类的数据的处理 ...

最新文章

  1. java jpanel 分层显示_java – 向JPanel显示视频
  2. STM32——DMA
  3. [搬运] mac下安装GDB
  4. 51nod 1428 活动安排问题 (贪心+优先队列)
  5. 无法卸载K/3处理方法
  6. Windows Server 2003 R2标准版 SP2 64位 (简体中文)官方原版ISO镜像
  7. 运筹系列31:内点法python代码
  8. 开根号的笔算算法图解_用笔算开根号
  9. MathExamV2.0四则混合运算计算题生成器
  10. 【开发应该了解的Web文件下载】
  11. 区块链的正确应用方式与前景
  12. 微信小程序文本如何换行
  13. python数字转换_python数字转换
  14. 秦刚推荐:做流量的本质就是做用户
  15. linux连公共wifi怎么输密码,公共Wifi密码怎么用 公共Wifi密码使用方法
  16. c语言统计字母字符数字字符个数,C语言统计字符个数代码分享
  17. [DevExpress]DateEdit年月
  18. html表格不能横向自动展示,html table表格列数太多添加横向滚动条
  19. java类加载器—ContextClassLoader类加载器
  20. direct9.0b 下载地址

热门文章

  1. java JDK11对比JDK8
  2. 【读书笔记】商业自传-PayPal程序员-硅谷钢铁侠-埃隆·马斯克,SpaceX CEO、特斯拉公司CEO、太阳城公司董事会主席。
  3. 计算机网络第七版谢希仁课后答案第四章(部分答案)
  4. 2022华为杯研究生数学建模竞赛F题思路解析
  5. git提交代码的两种方法步骤
  6. Hadoop环境搭建 MYSQL环境配置
  7. LabVIEW使用 NI Package Manager(NIPM)修复软件
  8. c++-密码生成小程序
  9. CAPL学习之路-DoIP相关函数
  10. java有关物流管理的简历_Java开发实习生大学生简历模板