⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbconnect.java

📁 一个用jsp技术实现的新闻发布系统
💻 JAVA
字号:
package net.ijsp.news.database;

import java.sql.*;
import java.io.*;
import java.util.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;

public class DBConnect extends HttpServlet {

/**
* 定义基本变量
*/
	private Connection conn = null;
	private Statement stmt = null;
	private PreparedStatement prepstmt = null;
	private static DBConnectionManager dcm = null;
	private PrintWriter log;

	private static Object lock = new Object();

	public DBConnect() {
		init();
		try{
			conn = dcm.getConnection();
			stmt = conn.createStatement();
		}catch(Exception e){
			System.err.println(e);
		}
}

/**
* 构造数据库的连接和访问类
* 预编译SQL语句
* @param sql SQL语句
*/
public DBConnect(String sql) throws Exception {
    init();
		try{
			conn = dcm.getConnection();
			stmt = conn.createStatement();
		}catch(Exception e){
			System.err.println(e);
		}
	this.prepareStatement(sql);
}

/**
* 关闭数据库
*/
public void close() throws Exception {
	if (stmt != null)  {
		stmt.close();
		stmt = null;
	}
	if (prepstmt != null) {
		prepstmt.close();
		prepstmt = null;
	}
	if (conn!=null) {
		dcm.freeConnection(conn);
	}
}

/**
* 立即关闭100个数据库连接
*/
public void destroyAll() throws Exception {
	dcm.destroy();
}

/**
* 进行数据库连接的基本配置
*/
public void init() {
	if(dcm==null) {
		synchronized (lock) {
			if(dcm==null) {
				LoadProp lp = new LoadProp();
				lp = lp.prop();
				try{
		//			dcm = new DBConnectionManager("org.gjt.mm.mysql.Driver","jdbc:mysql://localhost/forum","root","",3,50,"C:\\conlog.txt",1,true,60,2);
					dcm = new DBConnectionManager(lp.getDriver(),
													lp.getUrl(),
													lp.getUser(),
													lp.getPassword(),
													lp.getMinconn(),
													lp.getMaxconn(),
													lp.getLogfile(),
													lp.getMaxconntime(),
													false,
													2,
													lp.getDebug()
													);
					
				}catch(IOException ie){
					System.err.println(ie);
				}
			}
		}
	}
}


    public DBConnect(int resultSetType, int resultSetConcurrency)
            throws Exception {
        init();
		try{
			conn = dcm.getConnection();
	        stmt = conn.createStatement(resultSetType, resultSetConcurrency);
		}catch(Exception e){
			System.err.println(e);
		}
    }



	public DBConnect(String sql, int resultSetType, int resultSetConcurrency)
            throws Exception {
        init();
		this.prepareStatement(sql, resultSetType, resultSetConcurrency);
	}

	/**
	 * 返回连接
	 * @return Connection 连接
	 */
	public Connection getConnection() {
		return conn;
	}

	/**
	 * PreparedStatement
	 * @return sql 预设SQL语句
	 */
	public void prepareStatement(String sql) throws SQLException {
		prepstmt = conn.prepareStatement(sql);
	}

	public void prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
            throws SQLException {
		prepstmt = conn.prepareStatement(sql, resultSetType, resultSetConcurrency);
	}

	/**
	 * 设置对应值
     *
	 * @param index 参数索引
	 * @param value 对应值
	 */
	public void setString(int index,String value) throws SQLException {
		prepstmt.setString(index, value);
	}
	public void setInt(int index,int value) throws SQLException {
		prepstmt.setInt(index,value);
	}
	public void setBoolean(int index,boolean value) throws SQLException {
		prepstmt.setBoolean(index,value);
	}
//	public void setDate(int index,Date value) throws SQLException {
//		prepstmt.setDate(index,value);
//	}
	public void setLong(int index,long value) throws SQLException {
		prepstmt.setLong(index,value);
	}
	public void setFloat(int index,float value) throws SQLException {
		prepstmt.setFloat(index,value);
	}
	public void setBytes(int index,byte[] value) throws SQLException{
		prepstmt.setBytes(index,value);
	}
	 
    public void clearParameters()
        throws SQLException
    {
        prepstmt.clearParameters();
		prepstmt=null;
    }
	/**
	 * 返回预设状态
	 */
	public PreparedStatement getPreparedStatement() {
		return prepstmt;
	}
	/**
	 * 返回状态
	 * @return Statement 状态
	 */
	public Statement getStatement() {
		return stmt;
	}
	/**
	 * 执行SQL语句返回字段集
	 * @param sql SQL语句
	 * @return ResultSet 字段集
	 */
	public ResultSet executeQuery(String sql) throws SQLException {
		if (stmt != null) {
			return stmt.executeQuery(sql);
		}
		else return null;
	}

	public ResultSet executeQuery() throws SQLException {
		if (prepstmt != null) {
			return prepstmt.executeQuery();
		}
		else return null;
	}

	/**
	 * 执行SQL语句
	 * @param sql SQL语句
	 */
	public void executeUpdate(String sql) throws SQLException {
		if (stmt != null)
			stmt.executeUpdate(sql);
	}
	public void executeUpdate() throws SQLException {
		if (prepstmt != null)
			prepstmt.executeUpdate();
	}

}

⌨️ 快捷键说明

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