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

Java数据库连接
此文主要是数据源连接,并且数据库连接和操作全部封装,在应用层中直接调用。
一.数据库连接类(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
*/

 

}



 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

enterpc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值