如下的内容内容是关于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. Spring入门简介
  2. Linux 如何获取PAGE size的大小?
  3. 基于owncloud构建私有云储存网盘
  4. 一位中国婆婆的自述[转]
  5. 简单的窗体抖动托管c++
  6. golang基础-WaitGroup、kafka消费者
  7. remote Incorrect username or password ( access token)问题解决
  8. FZU2105 Digits Count(按位建线段树)题解
  9. 2023-2028中国稻谷行业市场 国稻种芯:未来趋势预测报告
  10. 区分单音节,双音节和多音节
  11. 【资讯】1225- Flutter 2.10发布,稳定支持Windows
  12. 如何带好一个20人团队?
  13. 基于matlab/simulink同步发电机电路模型仿真,基于MATLAB/SIMULINK同步发电机电路模型仿真...
  14. 家用设备搭建VMWARE超融合 NSX HORIZON 及CISCO测试环境
  15. 模拟赛Day1(20200203) T1 垃圾题【分类讨论+枚举+dp解决等价匹配问题】
  16. 任天堂等传统游戏巨头对元宇宙设计的四点启发
  17. 如何写出一份真正让您受聘的出色简历
  18. 截至6.14的一点笔记 java
  19. pta天梯赛 非常弹得球
  20. JQuery实现移动9宫格图片自由切换移动

热门文章

  1. 中小企业信息化建设管理方案规划设计1
  2. LOL易游网络验证破解总结
  3. Ascll完整码表(256个)
  4. 抛出 java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to andr异常
  5. Python复杂对象转JSON
  6. 华为详解海思Hi3716高清机顶盒芯片方案
  7. Clover Configurator 5.17.4.0中文版(四叶草clover配置工具)
  8. 莫烦python博客_莫烦Python 4
  9. MySQL字符串拼接函数
  10. mysql创建数据库的语法_mysql创建数据库语法