代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
是用JDBC从数据库中获取数据并以java对象返回
作者:
永泰
/ 发布于
2016/12/21
/
770
/** * * @param c * for example Person.class * @param primaryKeys * primaryKeys为主键,参数顺序和表中保持一致 如果id, name 为主键 类名为Person 则 getEntity(Person.class,1,"name") * @return */ public static Object getEntity(Class c, Object... primaryKeys) { PreparedStatement ps = null; ResultSet rs = null; DatabaseMetaData dmd = null; Object obj = null;// 要返回的对象 String tableName = c.getSimpleName().toLowerCase();// person 表的名字 List primaryKeyNameList = new ArrayList(); Field[] fields = c.getFields();// 获取所有的属性 StringBuilder sql = new StringBuilder("select * from " + tableName + " where "); try { obj = c.newInstance(); dmd = getConnection().getMetaData(); rs = dmd.getPrimaryKeys(null, null, tableName); while (rs.next()) { sql.append(rs.getObject(4) + "=?"); sql.append(" and "); primaryKeyNameList.add(rs.getObject(4));// 将从表中获取的 主键字段存到 list中, 主键位于表中第几列=rs.getString(5) } sql.delete(sql.length() - 4, sql.length()); ps = (PreparedStatement) getConnection().prepareStatement( sql.toString()); for (int l = 0; l < primaryKeyNameList.size(); l++) { ps.setObject(l + 1, primaryKeys[l]); } rs = ps.executeQuery(); System.out.println(ps.toString().split(":")[1]); if (rs.next()) { for (int k = 0; k < fields.length; k++) { fields[k].set(obj, rs.getObject(k + 1)); } } rs.close(); ps.close(); rs=null; ps=null; } catch (Exception e) { e.printStackTrace(); } finally { } return obj; }
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
永泰
贡献的其它代码
(
12
)
.
通过qrcode库生成二维码
.
等待上一行执行完成再执行下一行
.
导出数据到文件
.
据经纬度查询附近的点
.
是用JDBC从数据库中获取数据并以java对象返回
.
JS转C#工具脚本
.
透明样式,兼容全浏览器的css写法如下
.
加密(md5,sha1,base64)
.
NetUtils,跟网络相关的工具类
.
最小生成树 prim
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3