您的位置:首页 > 编程语言 > Java开发

Java数据库连接、操作以及应用规范编码举例

2007-08-29 11:42 519 查看
[align=center]Java数据库连接[/align]
此文主要是数据源连接,并且数据库连接和操作全部封装,在应用层中直接调用。
[align=center]数据库连接类[/align]
[align=center]数据库操作类[/align]
[align=center]数据库应用类[/align]
一.数据库连接类(DBcon.java)
package **;
import java.sql.*;
/**
* 数据库连接,单态模式
* @author qianbing
*/
public class DBcon {

private Connection con = null;
private final String JDBC_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";//定义数据驱动
private final String JDBC_URL = "jdbc:odbc:test";//连接数据源
private final String JDBC_USER = "sa";//SQL登陆用户名
private final String JDBC_PWD = "sa";//SQL登陆密码

private static DBcon obj = new DBcon();

public static DBcon newInstance() {
return obj;
}//封装实例化该类

/**
* @return connection
*/
public Connection getConnection()
{

try
{
  Class.forName(JDBC_DRIVER);
  con = DriverManager.getConnection(JDBC_URL,JDBC_USER,JDBC_PWD);
}
catch(Exception e)
{
  System.out.println("数据库连接错误"+e.getMessage());
}
return con;

}//封装连接

}

二.数据库操作类(DBoper.java)
package **;
import java.sql.*;

/**
* 数据库操作类
* @author qianbing
*
*/
public class DBOper {
 private Connection con = null;
 private PreparedStatement pre = null;
 private ResultSet result = null;

public DBOper()
{
  try
   {
    con = DBcon.newInstance().getConnection();
   }
  catch(Exception e){
   }
   }

/**
*
* @param SQL
*/
public void createPreparedStatement(String SQL)
{
  try
  {
   pre = con.prepareStatement(SQL);
  }
  catch(Exception e)
  {
   System.out.println("PreparedStatement Error"+e.getMessage());
  }
}

/**
*
* @param index
* @param value
*/
public void setInt(int index,int value)
{
  try
  {
   pre.setInt(index, value);
  }
  catch(Exception e){
    System.out.println("setInt error"+e.getMessage());
  }
}

public void setDate(int index,Date value){
   try{
     pre.setDate(index,value);
    }
   catch(Exception e){
     System.out.println("setDate error"+e.getMessage());
    }
}
/**
*
* @param index
* @param value
*/
public void setString(int index,String value)
{
   try
    {
      pre.setString(index, value);
    }
   catch(Exception e){
      System.out.println("setString error"+e.getMessage());
    }
}
/**
*
* @return
*/
public ResultSet executeQuery()
{
   try
    {
     result = pre.executeQuery();
    }
   catch(Exception e){
}
  return result;
}

public int executeUpdate()
{
  int rows = 0;
    try
     {
      rows = pre.executeUpdate();
     }
    catch(Exception e){
     }
  return rows;
}

/**
* 其他方法重写,参照以上方法
*/

/**
* 关闭数据库各参数
*/
public void closeAll()
{
   try
    {
     if(null != result)
      {
       result.close();
       result = null;
      }

     if(null != pre)
      {
       pre.close();
       pre = null;
      }

     if(null != con)
      {
       con.close();
       con = null;
      }
    }
   catch(Exception e)
    {
      System.out.println("Close Error"+e.getMessage());
    }

}

}

三.数据库应用类(ExampleAsset.java)
package Example;

import java.sql.Date;
import java.util.*;

import java.sql.*;
import bean.*;
import db.*;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class ExampleAsset {
  private DBOper db = null;
  private ResultSet rs = null;
  public ExampleAsset() {
}
/*
*将数据从数据库中按条件取出存入Vector数组中
*/
public Vector SearchEorR(String SQL,AssetBean bean){
  Vector objvct=new Vector();
  Vector objvct1=new Vector();
  db=new DBOper();
  try {
     db.createPreparedStatement(SQL);
     db.setString(1,bean.getSortBean());

     rs=db.executeQuery();
     while (rs.next()) {
      objvct = new Vector();
      objvct.add(rs.getString(1));//设备编号
      objvct.add(rs.getString(2));//名称
      objvct.add(rs.getString(3));//类别
      objvct.add(rs.getString(4));//型号
      objvct.add(rs.getInt(5));//数量
      objvct.add(rs.getFloat(6));//价值
      objvct1.add(objvct);
      }
     }catch (Exception ex) {
          ex.printStackTrace();
     }finally{
       db.closeAll();
     }
   return objvct1;
}

/*
*将数据从数据库中取出存入Vector数组中
*/

public Vector SearchEorR1(String SQL){
   Vector objvct=new Vector();
   Vector objvct1=new Vector();
   db=new DBOper();
   try {
    db.createPreparedStatement(SQL);

    rs=db.executeQuery();
    while (rs.next()) {
     objvct=new Vector();
     objvct.add(rs.getString(1));//设备编号
     objvct.add(rs.getString(2));//名称
     objvct.add(rs.getString(3));//类别
     objvct.add(rs.getString(4));//型号
     objvct.add(rs.getInt(5));//数量
     objvct.add(rs.getFloat(6));//价值
     objvct1.add(objvct);
    }
   }catch (Exception ex) {
    ex.printStackTrace();
   }finally{
    db.closeAll();
   }
  return objvct1;
}

/*
*下拉筐
*/
public ArrayList arryListSort(String SQL2){
   ArrayList listSort = new ArrayList();
   db=new DBOper();
   try{
    db.createPreparedStatement(SQL2);
    rs=db.executeQuery();
    while (rs.next()){
     listSort.add(rs.getString(1));

    }
   }
   catch(Exception ex){
      ex.printStackTrace();
   }
   finally{
    db.closeAll();
   }
  return listSort;
}

/*
*更新库存物资表中的数量
*/
public int update(String SQL3,int count1,AssetBean bean){
   int count=0;
   db= new DBOper();
   try{
    db.createPreparedStatement(SQL3);
    db.setInt(1,count1);
    db.setString(2,bean.getSortBean());
    count=db.executeUpdate();
   }
   catch(Exception e){
    e.printStackTrace();
   }
   finally{
    db.closeAll();
   }
  return count;
}

/*
*
*插入数据
*/
public int insert(String SQL4,String number,String day1,String AD,String purpose,String remark,String name){
   int count=0;
   db= new DBOper();
   try{
    db.createPreparedStatement(SQL4);
    db.setString(1,number);
    db.setString(2,day1);
    db.setString(3,AD);
    db.setString(4,purpose);
    db.setString(5,remark);
    db.setString(6,name);
    count=db.executeUpdate();
   }
   catch(Exception e){
    e.printStackTrace();
   }
   finally{
    db.closeAll();
   }
  return count;
}

/**
* update
*
* @param SQLCOUNT String
* @param countC int
* @param beanAsset AssetBean
* @return int
*/

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: