更新与查询数据库
2016-07-24 15:35
381 查看
/** * 更新数据 * @param sql SQL语句 * @param valueArray 值列表 */ public void updateData(String sql ,Object[] valueArray){ this.setConnection(); try { //执行SQL语句 ps=con.prepareStatement(sql); //填充占位符 for(int i=0;i<valueArray.length;i++){ ps.setObject(i+1, valueArray[i]); } //跟新数据库 ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.closeConnection(); } } /** * 查询数据 * @param sql SQL语句 * @param beanClass 集合中存放对象的类型 * @param valueArray 值列表 * @return 查询结果的集合 */ public List findDate(String sql,Class beanClass,Object[] valueArray){ List list = new ArrayList(); this.setConnection(); try { ps=con.prepareStatement(sql); if (valueArray != null) { for(int i=0;i<valueArray.length;i++){ ps.setObject(i+1, valueArray[i]); } } rs = ps.executeQuery(); //得到结果集的审视对象 //ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。 ResultSetMetaData metaData = rs.getMetaData(); //得到结果集中查询的列数 //getColumnCount()返回此 ResultSet 对象中的列数。 int columCount = metaData.getColumnCount(); //System.out.println(columCount+" "+metaData.getColumnName(1)); while(rs.next()){ //每次循环产生新的实体对象 Object beanObj = beanClass.newInstance(); //有几列循环几次 for(int i=1;i<=columCount;i++){ //getColumnName(i)得到指定列的列名 String columnName = metaData.getColumnName(i); System.out.println(columnName); //getObject(columnName)得到指定列名对应的值 Object valueObj = rs.getObject(columnName); //得到属性名对应的属性对象 Field field = beanObj.getClass().getDeclaredField(columnName); //去掉修饰符检查 field.setAccessible(true); //将指定对象变量上此 Field 对象表示的字段设置为指定的新值。 field.set(beanObj, valueObj); } list.add(beanObj); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { this.closeConnection(); } return list; }
相关文章推荐
- 高性能MySQL-Schema与数据类型优化
- 《redis入门指南》读书笔记
- mongodb 使用python作客户端
- 【Postgresql源码分析之二】同步复制源码分析
- sql学习
- mysql数据库字段操作
- yum方式安装MySQL
- 数据库系统事务隔离级别
- SQL-Server使用点滴(一-数据对象篇)
- Oracle11g数据库win8.1系统安装配置图文教程
- Mysql的数据类型
- Oracle 学习笔记
- MySQL性能优化的21个最佳实践
- centos下用yum安装mariadb
- SQL注入
- 【Postgresql源码分析之一】主备同步复制介绍
- 什么是数据库事务?
- mysql之explain
- 【学习笔记】Redis(6)-持久化
- Oracle小白第一次折腾Oracle遇到的问题