Java获取数据库各种查询结果_MySQL
程序员文章站
2022-06-09 12:38:46
...
在查询时候有时候要一条数据,有时候要的是一个结果集,然而有时候返回就是一个统计值,通过对ResultSet和ResultSetMetaData的变换得到各类所需的查询结果,因为没有利用连接池数据链接管理比较麻烦,所以谢了一个工具类,
package com.sky.connect;import java.lang.reflect.InvocationTargetException;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.commons.beanutils.BeanUtils;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;import com.mysql.jdbc.ResultSetMetaData;/** * DAO设计模式 * * @author 潘琢文 * */public class DAO { /** * 更新数据库操作 * * @param sql * @param args */ public void update(String sql, Object... args) { Connection connection = null; PreparedStatement preparedStatement = null; try { connection = JDBCTools.getConnection(); preparedStatement = (PreparedStatement) connection .prepareStatement(sql); for (int i = 0; i T get(Classclazz, String sql, Object... args) { T entity = null; Connection connection = null; PreparedStatement preparedStatement = null; ResultSet result = null; try { connection = JDBCTools.getConnection(); preparedStatement = (PreparedStatement) connection .prepareStatement(sql); for (int i = 0; i map = new HashMap (); ResultSetMetaData rsmd = (ResultSetMetaData) result.getMetaData(); if (result.next()) { for (int i = 0; i 0) { entity = clazz.newInstance(); for (Map.Entry entry : map.entrySet()) { String filedName = entry.getKey(); Object filedObject = entry.getValue(); BeanUtils.setProperty(entity, filedName, filedObject); } } } catch (Exception e) { e.printStackTrace(); } finally { JDBCTools.release(result, preparedStatement, connection); } return entity; } /** * 通用查询方法,返回一个结果集 * * @param clazz * @param sql * @param args * @return */ public List getForList(Class clazz, String sql, Object... args) { List list = new ArrayList (); Connection connection = null; PreparedStatement preparedStatement = null; ResultSet result = null; try { connection = JDBCTools.getConnection(); preparedStatement = (PreparedStatement) connection .prepareStatement(sql); for (int i = 0; i > values = handleResultSetToMapList(result); list = transfterMapListToBeanList(clazz, values); } catch (Exception e) { e.printStackTrace(); } finally { JDBCTools.release(result, preparedStatement, connection); } return list; } /** * * @param clazz * @param values * @return * @throws InstantiationException * @throws IllegalAccessException * @throws InvocationTargetException */ public List transfterMapListToBeanList(Class clazz, List
推荐阅读
-
数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
-
自定义mysql类用于快速执行数据库查询以及将查询结果转为json文件
-
php查询mysql数据库并将结果保存到数组的方法
-
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
-
Java对MySQL数据库进行连接、查询和修改操作方法
-
数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
-
mysql实现查询结果导出csv文件及导入csv文件到数据库操作
-
MySql数据库查询结果用表格输出PHP代码示例
-
DM数据库表中的CLOB字段,使用ajax查询并显示结果时无法获取该字段值
-
laravel 查询数据库获取结果实现判断是否为空