本人刚学JavaEE,请问下这样的封装数据库的方法是否可以(只是稍微写了2个方法)
忘赐教
package DAO;
import java.sql.*;public class DaoPool {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=FocusDB"; //连接服务器和数据库FocusDB
String userName = "sa"; //默认用户名
String userPwd = "123456"; //密码
Connection dbConn;
Statement stmt;
/*
* 数据库连接方法
*/
private void openConn() throws ClassNotFoundException, SQLException{
closeConn();//假如没关闭先关闭
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
stmt=dbConn.createStatement();
}
/*
* 关闭数据库
*/
public void closeConn() throws SQLException{
if(stmt!=null)
stmt.close();
if(dbConn!=null)
dbConn.close();
}
/*
* <title>执行查询</title>
* <param=sql>sql语句</param>
*/
public ResultSet ExecuteQuery(String sql) throws ClassNotFoundException, SQLException{
openConn();//打开数据库
return stmt.executeQuery(sql);
}
/*
* <title>执行无返回操作</title>
* <param=sql>sql语句</param>
*/
public int ExecuteUpdate(String sql) throws ClassNotFoundException,SQLException{
openConn();
return stmt.executeUpdate(sql);
}
}
忘赐教
package DAO;
import java.sql.*;public class DaoPool {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=FocusDB"; //连接服务器和数据库FocusDB
String userName = "sa"; //默认用户名
String userPwd = "123456"; //密码
Connection dbConn;
Statement stmt;
/*
* 数据库连接方法
*/
private void openConn() throws ClassNotFoundException, SQLException{
closeConn();//假如没关闭先关闭
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
stmt=dbConn.createStatement();
}
/*
* 关闭数据库
*/
public void closeConn() throws SQLException{
if(stmt!=null)
stmt.close();
if(dbConn!=null)
dbConn.close();
}
/*
* <title>执行查询</title>
* <param=sql>sql语句</param>
*/
public ResultSet ExecuteQuery(String sql) throws ClassNotFoundException, SQLException{
openConn();//打开数据库
return stmt.executeQuery(sql);
}
/*
* <title>执行无返回操作</title>
* <param=sql>sql语句</param>
*/
public int ExecuteUpdate(String sql) throws ClassNotFoundException,SQLException{
openConn();
return stmt.executeUpdate(sql);
}
}
直接用private不行么?在ExecuteQuery和ExecuteUpdate方法中执行完数据库操作后调用该方法!这样呈现给外部的只是两个方法不是很好吗?
如果你的其他的java 类还要用到这个 数据库连接,那么你还得把这个里面的 数据库连接放到另外的java类里去啊?建议写一个公共的数据库连接,最好用个数据库连接池,谁用到数据库连接,谁就去调用。不用了就关闭。