JDBC工具类 访问数据库 增删改查CRUD的通用方法
1 package com.zmh.util; 2 3 import java.sql.*; 4 import java.util.ArrayList; 5 import java.util.HashMap; 6 import java.util.List; 7 import java.util.Map; 8 /** 9 * JDBC工具类 10 */ 11 public class Util1 { 12 //加载驱动 13 static { 14 try { 15 Class.forName("com.mysql.jdbc.Driver"); 16 } catch (ClassNotFoundException e) { 17 e.printStackTrace(); 18 } 19 } 20 //获得连接 21 public static Connection getConnection(){ 22 try { 23 DriverManager.getConnection("jdbc:mysql://localhost:3306/qy97?characterEnconding=utf-8","root","root"); 24 } catch (SQLException e) { 25 e.printStackTrace(); 26 } 27 return null; 28 } 29 /** 增删改的通用方法 30 * @param String sql 要执行的sql 31 * @param Object[] obj 对象类型的数组 里面存放着 sql执行的占位符参数 32 * 【name,age,id】 33 * 【id】 34 * 【name,age】 35 * Object... 可变参数 36 * */ 37 public static boolean executeUpdate(String sql,Object... args){ 38 Connection conn = null; 39 PreparedStatement ps = null; 40 try { 41 conn = getConnection(); 42 ps = conn.prepareStatement(sql); 43 //有参数 44 for(int i=0;i<args.length;i++){ 45 ps.setObject(i+1,args[i]); 46 } 47 //执行sql语句 48 int i = ps.executeUpdate(); 49 //返回 true 50 return i>0; 51 } catch (SQLException e) { 52 e.printStackTrace(); 53 }finally{ 54 //关闭资源 55 close(conn,ps,null); 56 } 57 return false; 58 } 59 /** 60 * 查询的通用方法 61 * @param sql; 62 * @param args; 63 * @return 64 * */ 65 public static List<Map<String,Object>> executeQuery(String sql,Object... args){ 66 Connection conn = null; 67 PreparedStatement ps = null; 68 ResultSet rs = null; 69 try { 70 conn = getConnection(); 71 ps = conn.prepareStatement(sql); 72 //有可能有参数 73 for(int i=0;i<args.length;i++){ 74 ps.setObject(i+1,args[i]); 75 } 76 //执行sql语句 77 rs = ps.executeQuery(); 78 //创建List集合 79 List<Map<String, Object>> list = new ArrayList<>(); 80 //获取本次查询结果集有多少列 81 int count = rs.getMetaData().getColumnCount(); 82 //while循环 83 while(rs.next()){ 84 //创建Map集合 获取一个数据封装成一个Map集合 85 Map<String, Object> map = new HashMap<>(); 86 //for循环 遍历所有的列 87 for(int i=0;i<count;i++){ 88 //获取本次查询结果集的列名 89 String name = rs.getMetaData().getColumnLabel(i + 1); 90 map.put(name,rs.getObject(name)); 91 } 92 //把所有的map集合添加到List集合中 93 list.add(map); 94 } 95 //返回值 96 return list; 97 } catch (SQLException e) { 98 e.printStackTrace(); 99 }finally{ 100 //关闭资源 101 close(conn,ps,rs); 102 } 103 return null; 104 } 105 /** 106 * 关闭资源的通用方法 107 * */ 108 public static void close(Connection conn,Statement stat,ResultSet rs){ 109 try{ 110 if(rs!=null){ 111 rs.close(); 112 } 113 if(stat!=null){ 114 stat.close(); 115 } 116 if(conn!=null){ 117 conn.close(); 118 } 119 }catch(Exception e){ 120 e.printStackTrace(); 121 } 122 } 123 }
乐观的心态会让你更加完美