Java操作jdbc工具类
来源:互联网 发布:人工智能三年行动计划 编辑:程序博客网 时间:2024/06/05 02:47
package com.cuihs.esb.db;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Properties;/** * JDBC常用的一些操作 * * @author ZHAO * @date 2015年10月11日 */public class JDBCUtils {/** * 初始值不赋,免得写死了 */private static String driver_class;private static String url;private static String username;private static String password;/** * 因为只需要加载一次,所以使用静态代码块, 在类加载时就执行,把属性文件里面的值赋给属性 */static {Properties pro = new Properties();try {pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"));driver_class = pro.getProperty("jdbc.driver_class");url = pro.getProperty("jdbc.url");username = pro.getProperty("jdbc.username");password = pro.getProperty("jdbc.password");} catch (IOException e) {e.printStackTrace();}}/** * JDBC获取连接操作 * * @return Connection对象 */public static Connection getConnection() {Connection conn = null;try {// 加载驱动Class.forName(driver_class);conn = DriverManager.getConnection(url, username, password);} catch (Exception e) {e.printStackTrace();}return conn;}/** * JDBC查询操作 */public static List<Map<String, Object>> executeQuery(String sql,Object... parameters) {List<Map<String, Object>> table = new ArrayList<Map<String, Object>>();ResultSet result = null;Connection conn = null;PreparedStatement pst = null;int len = parameters.length;try {conn = getConnection();pst = conn.prepareStatement(sql);// 设置参数if (parameters != null && len > 0) {for (int i = 0; i < len; i++) {pst.setObject(i + 1, parameters[i]);}}// 执行SQL指令并处理结果result = pst.executeQuery();if (result != null) {// 把查询到的结集转换成一张虚拟的表java.sql.ResultSetMetaData rsd = result.getMetaData();// 获得列数int columnCounts = rsd.getColumnCount();while (result.next()) {// 定义一个Map集合来存储每一行的数据Map<String, Object> row = new HashMap<String, Object>();// 遍历列赋值for (int i = 1; i <= columnCounts; i++) {row.put(rsd.getColumnName(i),result.getObject(rsd.getColumnName(i)));}// 把每次得到的Map集合添加到table中table.add(row);}}} catch (Exception e) {e.printStackTrace();} finally {closeObject(result, pst, conn);}return table;}/** * JDBC增、删、改操作 * * @param sql * 用来接收调用处传入的SQL指令 * @param parameters * 接收调用处传入的与SQL指令一一对应的占位符 */public static int executeEdit(String sql, Object... parameters) {int row = 0;int len = parameters.length;Connection conn = getConnection();PreparedStatement pst = null;try {pst = conn.prepareStatement(sql);// 设置参数if (parameters != null && len > 0) {for (int i = 0; i < len; i++) {pst.setObject(i + 1, parameters[i]);}}row = pst.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {closeObject(pst, conn);}return row;}/** * JDBC关闭对象,释放资源 */public static void closeObject(Object... objects) {if (objects != null) {for (Object obj : objects) {try {if (obj instanceof PreparedStatement) {((PreparedStatement) obj).close();}if (obj instanceof ResultSet) {((ResultSet) obj).close();}if (obj instanceof Connection) {Connection conn = (Connection) obj;if(!conn.isClosed()) {conn.close();conn = null;}}} catch (Exception e) {e.printStackTrace();}}}}}
阅读全文
0 0
- Java操作jdbc工具类
- JDBC操作工具类
- jdbc操作工具类
- java jdbc工具类
- java jdbc工具类
- java操作ORACLE数据库工具类(JDBC)
- jdbc 工具类 jdbc java数据库连接
- jdbc数据库操作工具类--DBUtil
- JAVA JDBC-Mysql操作类
- java中JDBC基本操作的一个工具类,一些基本方法
- [Java代码] JDBC分页工具类
- Java工具类——jdbc
- java-jdbc工具类(QueryRunner)
- Java开发数据库连接JDBC工具类
- 对JDBC操作数据库的工具类的封装
- JDBC操作工具类[来源于开源DbUtils]
- JDBC实现用于操作数据库Mysql的工具类JDBCTools
- JDBC java操作MYSQL
- Linux vim操作
- React组件生命周期小结
- Spring Boot常用测试场景及分析
- vimrc配置文件(亲测,好用)
- 412. Fizz Buzz
- Java操作jdbc工具类
- mysql 数据安装后启用远程访问!
- JVM--浅谈垃圾收集机制
- # 元组综合练习 #
- SpringCloud—— eureka service
- 48. Rotate Image
- h5图片上传之图片预览
- AWS搭建ShadowSocks(VPN)服务
- 岛屿周长问题(python3实现)