java mysql 数据库连接类

class MySqlClasses {//数据库连接类

 private Connection conn = null;
 private Statement st = null;
 private ResultSet rs = null;

 public MySqlClasses(String databaseName, String userName, String password) {
  try {
   // 写入驱动所在处,打开驱动
   Class.forName("com.mysql.jdbc.Driver").newInstance();
   // 数据库,用户,密码,创建与具体数据库的连接
   conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"
     + databaseName + "?useUnicode=true&characterEncoding=GBK",
     userName, password);
   // 创建执行sql语句的对象
   st = conn.createStatement();

  } catch (Exception e) {
   // javax.swing.JOptionPane.showMessageDialog(null,"连接失败"+e.toString());

  }

 }

 public String[] query(String sqlStatement, int n) {
  String result = "";
  try {
   ResultSet rs = st.executeQuery(sqlStatement);
   List<String> list = new ArrayList<String>();// 创建取结果的列表,之所以使用列表,不用数组,因为现在还不知道结果有多少,不能确定数组长度,所有先用list接收,然后转为数组
   while (rs.next()) {// 如果有数据,取第一列添加如list
    list.add(rs.getString(n));
   }
   if (list != null && list.size() > 0) {// 如果list中存入了数据,转化为数组
    String[] arr = new String[list.size()];// 创建一个和list长度一样的数组
    for (int i = 0; i < list.size(); i++) {
     arr[i] = list.get(i);// 数组赋值了。
    }

    rs.close();
    return arr;
   }
  } catch (Exception e) {
   // javax.swing.JOptionPane.showMessageDialog(null,"查询失败"+e.toString());

   return null;
  }
  return null;
 }

 public int query(String sqlStatement) {
  int row = 0;
  try {
   row = st.executeUpdate(sqlStatement);
   this.close();
   return row;
  } catch (Exception e) {
   javax.swing.JOptionPane.showMessageDialog(null,
     "执行sql语句失败" + e.toString());
   this.close();
   return row;
  }
 }

 public void close() {
  try {

   this.rs.close();
   this.st.close();
   this.conn.close();

  } catch (Exception e) {
   // javax.swing.JOptionPane.showMessageDialog(null,"关闭数据库连接失败"+e.toString());
  }
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值