数据库基本操作封装

先上代码,原因是linux之父的名言:Give me the fucking source code  

 

import java.sql.*; //导入java.sql包中的所有类

/**
   @author Liuchundong
   @2011.07.10
 */
/*************数据库操作功能:封装了访问数据库的相关操作。***********/

public class DataBaseAccess
{
 
 public Connection conn = null;  // 声明Connect对象的实例
 public Statement stmt = null;  // 声明Statement对象的实例
 public ResultSet rs = null;  // 声明ResultSet对象的实例
 
 /*
  *功能:执行数据连接
  * */
 public Connection getConnection()
 {
  //加载不同的驱动,连接数据库,如果要连接其他数据库,自行修改
  String Driver="com.mysql.jdbc.Driver"; //驱动程序
  String Url="jdbc:mysql://localhost:3306/test";//连接URL,db_name为数据库名
  String Username="root"; //用户名
  String Password="root"; //用户密码
  
  try{
   Class.forName(Driver).newInstance();
   System.out.println("驱动接口程序连接成功!^_^");//连接成功
  }catch(Exception e)
  {
   System.out.println("驱动接口程序连接失败!@_@"+Driver);//连接失败
   e.printStackTrace();
  }
  try{
   conn=DriverManager.getConnection(Url,Username,Password);
   stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   if(!conn.isClosed()){
   System.out.println("数据库连接成功!^_^");
   }
  }catch(SQLException ex)
  {
   System.out.println("数据库连接失败!@_@");
   ex.printStackTrace();
  }
  return conn;  //返回数据库连接对象
 }

 /*
  * 功能:执行查询语句
  */
 public ResultSet Query(String sql)
 {
  try
  {   // 捕捉异常
   conn = getConnection();  // 调用getConnection()方法构造Connection对象的一个实例
   stmt = conn.createStatement();
   rs = stmt.executeQuery(sql);//执行SQL语句,并返回一个ResultSet对象rs
  }
  catch (SQLException ex)
  {
   System.err.println("This Query has failed!");
   System.err.println(ex.getMessage()); // 输出异常信息
  }
  return rs; //返回结果集对象
 }

 /*
  * 功能:执行更新操作,增、删、改用Statement.executeUpdate来完成,
  * 返回整数(匹配的记录数),这类操作相对简单。
  */
 public int Update(String sql)
 {
  int result = 0; // 定义保存返回值的变量
  try
  {   // 捕捉异常
   conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例
   stmt = conn.createStatement();
   result = stmt.executeUpdate(sql); // 执行更新操作
   System.out.println("This Update has executed successfully!");
  }
  catch (SQLException ex)
  {
   result = 0; // 将保存返回值的变量赋值为0
   System.out.println("This Update has failed!");
   System.err.println(ex.getMessage()); // 输出异常信息
  }
  return result; // 返回保存返回值的变量
 }
 
 /*
  * 功能:关闭数据库的连接
  */
 public void close()
 {
  try
  {   // 捕捉异常
   if (rs != null)
   { // 当ResultSet对象的实例rs不为空时
    rs.close(); // 关闭ResultSet对象
   }
   if (stmt != null)
   { // 当Statement对象的实例stmt不为空时
    stmt.close(); // 关闭Statement对象
   }
   if (conn != null)
   { // 当Connection对象的实例conn不为空时
    conn.close(); // 关闭Connection对象
   }
  }
  catch (Exception e)
  {
   e.printStackTrace(System.err); // 输出异常信息
  }
 }
}

 

声明:以上只是个基本的数据库操作封装,一般情况的调用这个封装去连接数据库时,要改相应的数据库连接驱动包和驱动名。数据库基本操作是增、删、改、查,其中又主要可以分成两类:一类是查询,不改变数据库里面数据,另一类是更新(包括增、删、改),程序中向改方法传入你想进行的数据操作就行,不过一定要注意SQL语句的正确!

通过上面程序进行数据基本的查询,更新操作没有问题,但要进行更复杂的操作,则需要自己再扩展代码!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值