关于使用javabean实现数据库连接的潜在问题!

hhl00 2003-10-28 08:42:40
我使用这段代码实现数据库的连接:
package mysqlconnection;
import java.sql.*;
public class sql_data
{
String sDBDriver="com.mysql.jdbc.Driver";
String sConnStr="jdbc:mysql://localhost/data?user=dbuser&password=192168&useUnicode=true&characterEncoding=gb2312";
Connection conn=null;
ResultSet rs=null;
public sql_data()
{
try
{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("sql_data():"+e.getMessage());
}
}
public void Insert(String sql)
{
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.Insert:"+ex.getMessage());
}
}
public void Update(String sql)
{
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.Update:"+ex.getMessage());
}
}
public ResultSet Query(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.Query:"+ex.getMessage());
}
return rs;
}
public void Delete(String sql)
{
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.Delete:"+ex.getMessage());
}
}

这样子做,对于数据库的连接非常方便。但是,我参考了相关的文章,提到了数据库连接好后,最好将其关闭。但是如果使用上面的方法,是没有关闭的,我该如何来实现呢?
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zkjbeyond 2003-10-30
  • 打赏
  • 举报
回复
conn=DriverManager.getConnection(sConnStr);
放类外面。

操作数据库的方法public void Insert(Connection conn,String sql)
当调用时把conn传进去。

在外面关闭!
yugona 2003-10-30
  • 打赏
  • 举报
回复
public void disConn()
{
try
{
if(conn!=null) conn.close();
if(rs!=null) rs.close();
}
catch(Exception e)
{
}
}
另外在你的Insert,Query,Update方法中关闭stmt
try
{}
catch(Exception e)
{}
finally
{
if(stmt!=null) stmt.close();
}
hhl00 2003-10-30
  • 打赏
  • 举报
回复
不好意思,连接池我不熟悉,你能不能说清楚一点?
9731boy 2003-10-28
  • 打赏
  • 举报
回复
你用连接池吧.

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧