自己写了一个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 }
View Code

用的是新版mysql的jar包,所以驱动加载用com.mysql.cj.jdbc.Driver

url例子:jdbc:mysql://localhost:3306/class?useSSL=false&serverTimezone=UTC

用户名密码看自己的设置了

目前是第一版,以后还会更新功能

 

记得用的话必须调用类中的close方法关闭来释放资源

posted @ 2020-02-02 17:19  时光潜流  阅读(349)  评论(1编辑  收藏  举报