自己写了一个mysql连接的工具类【java】
要用的话,包名自己可以改一下:
1 package com.usa3v.dreamcenter.util; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 9 public class MyDatabase { 10 11 String url; 12 String user; 13 String password; 14 15 Connection conn = null; 16 PreparedStatement ps = null; 17 ResultSet rs = null; 18 19 /** 20 * 构造需要一个数组 21 * 该数组包含了三个信息 22 * URL , user , password 23 * @param str[] 24 */ 25 26 public MyDatabase(String str[]) 27 { 28 this.url = str[0]; 29 this.user = str[1]; 30 this.password = str[2]; 31 } 32 33 /** 34 * 生命周期: 35 * connect连接数据库 36 * 数据的其它操作 37 * close关闭数据连接资源 38 */ 39 40 public void connect() 41 { 42 try { 43 System.out.println("加载驱动中..."); 44 Class.forName("com.mysql.cj.jdbc.Driver"); 45 System.out.println("驱动加载成功!"); 46 47 System.out.println("连接数据库中..."); 48 conn = DriverManager.getConnection(url, user, password); 49 System.out.println("数据库连接成功!"); 50 51 52 } catch (Exception e) { 53 e.printStackTrace(); 54 } finally { 55 System.out.println("\nfinally被调用,你必须手动" 56 + "调用该类的close()方法关闭资源,否则后果自负!\n"); 57 } 58 59 } 60 61 /** 62 * 增删改操作都可 63 * @param sql 64 */ 65 public void executeUpdate(String sql) 66 { 67 try { 68 System.out.println("\t执行sql语句:"+sql); 69 ps = conn.prepareStatement(sql); 70 ps.executeUpdate(); 71 System.out.println("\t"+sql+"操作成功!"); 72 } catch (SQLException e) { 73 System.out.println("\tmysql语法错误!"); 74 } 75 } 76 77 /** 78 * 查询某个记录是否存在 79 */ 80 public byte isExist(String sql) 81 { 82 try { 83 System.out.println("\t查询中..."); 84 ps = conn.prepareStatement(sql); 85 rs = ps.executeQuery(); 86 System.out.println("\t查询结果已返回!"); 87 88 rs.next(); 89 90 if(rs.getString(1)!=null) 91 { 92 System.out.println("\t有结果"); 93 return 1; 94 }else { 95 System.out.println("\t无结果1"); 96 return 0; 97 } 98 99 } catch (SQLException e) { 100 // TODO Auto-generated catch block 101 //e.printStackTrace(); 102 System.out.println("\t无结果2"); 103 return 0; 104 } 105 } 106 107 /** 108 * 返回整个结果集 109 */ 110 public ResultSet getResultSet(String sql) 111 { 112 try { 113 System.out.println("\t结果集加载中..."); 114 ps = conn.prepareStatement(sql); 115 rs = ps.executeQuery(); 116 System.out.println("\t结果集加载成功!"); 117 return rs; 118 } catch (SQLException e) { 119 // TODO Auto-generated catch block 120 e.printStackTrace(); 121 System.out.println("\t结果集加载失败!"); 122 return null; 123 } 124 } 125 126 public void close() 127 { 128 if(rs != null) 129 { 130 try { 131 rs.close(); 132 } catch (SQLException e) { 133 e.printStackTrace(); 134 } 135 } 136 if(ps != null) 137 { 138 try { 139 ps.close(); 140 } catch (SQLException e) { 141 e.printStackTrace(); 142 } 143 } 144 if(conn != null) 145 { 146 try { 147 conn.close(); 148 } catch (SQLException e) { 149 e.printStackTrace(); 150 } 151 } 152 } 153 }
用的是新版mysql的jar包,所以驱动加载用com.mysql.cj.jdbc.Driver
url例子:jdbc:mysql://localhost:3306/class?useSSL=false&serverTimezone=UTC
用户名密码看自己的设置了
目前是第一版,以后还会更新功能
记得用的话必须调用类中的close方法关闭来释放资源
程序宅男