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

📄 basedao.java

📁 实现了简单的JSP论坛 里面还包含几个教学常用例题
💻 JAVA
字号:
/*
 * s2jsp.lg.dao.impl.BaseDao.java
 * 2007-7-18
 * Dao的基类,使用JDBC连接数据库、释放资源、执行sql,可以被其他Dao实现类继承或实例化使用
 */
package s2jsp.lg.dao.impl;

import java.sql.*;

public class BaseDao {    
    public final static String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";                 // 数据库驱动
    public final static String url    = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=bbs";   // url
    public final static String dbName = "sa";                                                           // 数据库用户名
    public final static String dbPass = "sa";                                                           // 数据库密码
    
    /**
     * 得到数据库连接
     * @throws ClassNotFoundException
     * @throws SQLException
     * @return 数据库连接
     */
    public Connection getConn() throws ClassNotFoundException, SQLException{
        Class.forName(driver);                                                    //注册驱动
        Connection conn = DriverManager.getConnection(url,dbName,dbPass);        //获得数据库连接
        return conn ;                                                            //返回连接
    }
    
    /**
     * 释放资源
     * @param conn 数据库连接
     * @param pstmt PreparedStatement对象
     * @param rs 结果集
     */
    public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {
        /*  如果rs不空,关闭rs  */
        if(rs != null){
            try { rs.close();} catch (SQLException e) {e.printStackTrace();}
        }
        /*  如果pstmt不空,关闭pstmt  */
        if(pstmt != null){
            try { pstmt.close();} catch (SQLException e) {e.printStackTrace();}
        }
        /*  如果conn不空,关闭conn  */
        if(conn != null){
            try { conn.close();} catch (SQLException e) {e.printStackTrace();}
        }
    }
    
    /**
     * 执行SQL语句,可以进行增、删、改的操作,不能执行查询
     * @param sql  预编译的 SQL 语句
     * @param param  预编译的 SQL 语句中的‘?’参数的字符串数组
     * @return 影响的条数
     */
    public int executeSQL(String preparedSql,String[] param) {
        Connection        conn  = null;
        PreparedStatement pstmt = null;
        int               num   = 0;
        
        /*  处理SQL,执行SQL  */
        try {
            conn = getConn();                              // 得到数据库连接
            pstmt = conn.prepareStatement(preparedSql);    // 得到PreparedStatement对象
            if( param != null ) {
                for( int i = 0; i < param.length; i++ ) {
                    pstmt.setString(i+1, param[i]);         // 为预编译sql设置参数
                }
            }
            num = pstmt.executeUpdate();                    // 执行SQL语句
        } catch (ClassNotFoundException e) {
            e.printStackTrace();                            // 处理ClassNotFoundException异常
        } catch (SQLException e) {
            e.printStackTrace();                            // 处理SQLException异常
        } finally {
            closeAll(conn,pstmt,null);                     // 释放资源
        }
        return num;
    }

}

⌨️ 快捷键说明

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