basedao.java

来自「jsp/serlvet/javaBean:订餐系统」· Java 代码 · 共 102 行

JAVA
102
字号
package dao;

import java.sql.*;
import javax.naming.*;
import javax.sql.*;

/**
 * 数据库的连接和关闭
 * @author dell
 *
 */
public class BaseDao {
	
	//private static final String DRIVAR_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";
	//private static final String DATABASE_URL="jdbc:sqlserver://localhost:1433;DatabaseName=restrant";
	//private static final String DATABASE_USER="sa";
	//private static final String DATABASE_PASSWORD="hjb";
	
	//public final static String DRIVER="sun.jdbc.odbc.JdbcOdbcDriver";
    //public final static String URL="jdbc:odbc:ats20425";
	//public final static String DBNAME="sa";
	//public final static String DBPASS="hjb";
	
	//连接数据库
	public Connection getConn(){
		Connection conn=null;
		/*
		try{
			Class.forName(DRIVAR_CLASS);
			conn=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
		}catch(Exception ex){
			ex.printStackTrace();
			System.out.println(ex.getMessage());
		}*/
		try{
			Context ic=new InitialContext();
			DataSource source=(DataSource)ic.lookup("java:comp/env/jdbc/restrant");
			conn=source.getConnection();
		}catch(SQLException se){
			se.printStackTrace();
			System.out.println(se.getMessage());
		}catch(NamingException nse){
			nse.printStackTrace();
			System.out.println(nse.getMessage());
		}
		return conn;
	}
	
	//关闭数据库
	public void closeConn(Connection conn,PreparedStatement psmt,ResultSet rest){
		try{
			if(conn!=null && (!conn.isClosed())){
				conn.close();
			}
		}catch(SQLException sexC){
			sexC.printStackTrace();
			System.out.println(sexC.getMessage());
		}
		try{
			if(psmt!=null){
				psmt.close();
				psmt=null;
			}
		}catch(SQLException sexP){
			sexP.printStackTrace();
			System.out.println(sexP.getMessage());
		}
		try{
			if(rest!=null){
				rest.close();
				rest=null;
			}
		}catch(SQLException sexR){
			sexR.printStackTrace();
			System.out.println(sexR.getMessage());
		}
	}
	
	//	增、删、改数据库
	public int executeDB(String sql,String[] param){
		int num=0;
		Connection conn=null;
		PreparedStatement psmt=null;
		try{
			conn=getConn();
			psmt=conn.prepareStatement(sql);
			if(param!=null){
				for(int i=0;i<param.length;i++){
					psmt.setString(i+1, param[i]);
				}
			}
			num=psmt.executeUpdate();
		}catch(SQLException sexE){
			sexE.printStackTrace();
			System.out.println(sexE.getMessage());
		}finally{
			closeConn(conn,psmt,null);
		}
		return num;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?