java从数据库映射实体类的代码
如下的内容内容是关于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从数据库映射实体类的代码相关推荐
- dao和mysql映射_hibernate通过数据库生成实体类,映射文件和DAO(实用)
hibernate通过数据库生成实体类,映射文件和DAO(实用) (2011-04-06 17:22:32) 标签: 杂谈 上次谈到利用MyEclipse从数据库反向生成实体类之JPA方式,这次我们来 ...
- Java实现自动生成Mysql数据库表实体类
2019独角兽企业重金招聘Python工程师标准>>> 一个工具类就可以实现啦,直接看代码及注释,很方便理解,从一位博主那里拿到加上自己优化一部分的 注:侵删(忘了原博主信息) My ...
- Mybatis自动生成实体类等代码
Mybatis自动生成实体类等代码 具体步骤 具体步骤 在本机随便找个目录存放以下文件,如图(mybatis-generator-core-1.3.5.jar 和 mysql-connector-ja ...
- python映射实体类_【HIBERNATE框架开发之二】第一个HIBERNATE-ANNONATION项目(采用@ENTITY、@ID直接映射实体类)...
紧接上一篇,这里Himi直接copy上一篇创建的HelloHibernate项目,然后改名为:HelloAnnonation,Ok: OK,准备工作: 首先第一步,继续再我们自定义的user libr ...
- Spring JdbcTemplate的queryForList(String sql , Class<T> elementType)返回非映射实体类的解决方法
Spring JdbcTemplate的queryForList(String sql , Class elementType)返回非映射实体类的解决方法 参考文章: (1)Spring JdbcTe ...
- springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出错的解决办法
springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出错的解决办法 参考文章: (1)springBoot JPA 数据库字段(实体类)带下划线在扩展findBy方法时出 ...
- java中如何遍历实体类的属性和数据类型以及属性值
package com.walkerjava.test;import java.lang.reflect.Field;import java.lang.reflect.InvocationTarget ...
- python映射实体类_将Python(django)实体类转换为Java的好方法 - java
我正在寻找一种"复制" /将模型从Python源代码转换为Java源代码的好方法.我的想法是在服务器上使用Python django框架生成实体模型类.另一方面,我想将实体类转换为 ...
- java vo转map_javabean实体类对象转为Map类型对象的方法(转发)
//将javabean实体类转为map类型,然后返回一个map类型的值 public static Map beanToMap(Object obj) { Map params = new HashM ...
- Project(1)——创建数据库、实体类、用户注册的持久层
Project(1) 1.分析项目 当需要开发某个项目时,首先,应该分析这个项目中,需要处理哪些种类的数据!例如:用户.商品.商品类别.收藏.订单.购物车.收货地址- 然后,将以上这些种类的数据的处理 ...
最新文章
- java jpanel 分层显示_java – 向JPanel显示视频
- STM32——DMA
- [搬运] mac下安装GDB
- 51nod 1428 活动安排问题 (贪心+优先队列)
- 无法卸载K/3处理方法
- Windows Server 2003 R2标准版 SP2 64位 (简体中文)官方原版ISO镜像
- 运筹系列31:内点法python代码
- 开根号的笔算算法图解_用笔算开根号
- MathExamV2.0四则混合运算计算题生成器
- 【开发应该了解的Web文件下载】
- 区块链的正确应用方式与前景
- 微信小程序文本如何换行
- python数字转换_python数字转换
- 秦刚推荐:做流量的本质就是做用户
- linux连公共wifi怎么输密码,公共Wifi密码怎么用 公共Wifi密码使用方法
- c语言统计字母字符数字字符个数,C语言统计字符个数代码分享
- [DevExpress]DateEdit年月
- html表格不能横向自动展示,html table表格列数太多添加横向滚动条
- java类加载器—ContextClassLoader类加载器
- direct9.0b 下载地址