import java.sql.Connection
import java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
//一个数据库通用的帮助类,用于连接数据库与关闭数据库
public class DBUtil {
//第一步:声明你所需要的一些全局变量
private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver"//加载驱动的字符串
private final static String CONN_STR="jdbc:sqlserver://localhost:1433databaseName=testDB"//数据库连接字符串
private final static String DB_USER="sa"//数据用户
private final static String DB_PWD="123456"//数据库登录密码
//第二步:加载数据库驱动(这里是sqlserver)
static{
try{
Class.forName(DRIVER_CLASS)
}catch(ClassNotFoundException e){
e.printStackTrace()//抛出异常
}
}
//第三步:获取数据库连接
public static Connection getConn(){
try {
return DriverManager.getConnection(CONN_STR,DB_USER,DB_PWD)
} catch (SQLException e) {
e.printStackTrace()
}
return null
}
//最后关闭数据库连接
public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){
try {
if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接
rs.close()
}
} catch (Exception e) {
e.printStackTrace()
}
try {
if (pstmt!=null) {
pstmt.close()//关闭预编译对象
}
} catch (Exception e) {
e.printStackTrace()
}
try {
if (conn!=null) {
conn.close()//关闭结果集对象
}
} catch (Exception e) {
e.printStackTrace()
}
}
}
没异常,不过浪费资源,占着坑不拉,执行完一次数据库交互就要关闭一次try{
sql...
}catch(...){
//异常信息
}finally{
rs.close()
stmt.close()
conn.close()
//关链接,释放资源
}
楼主说的关了不能执行肯定是把结果集返回,这样编程不行的,因为在上述 *** 作中结果集已经关了,再返回就是空了,我们应该把数据返回,在
try{
list.add{rs.getObject(1)}
///
}
把数据装在list里面,返回list
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)