数据库连接操作的问题

chris_zley 2008-04-25 11:25:58
我的情况是:

我所有数据库相关的方法都写在一个Db类里面,包括连接和关闭连接

其他类中的方法(如test)都调用Db这个类里面的方法来实现对数据库操作
比如
Db db = new Db();
public boolean insert(){
db.insert();
}

那我在控制流程的类中

比如
Db db = new Db();
db.getConnection();
Test t = new Test();
t.insert();

目前的情况是t这个对象并不能利用db打开的数据库连接。。

怎样调用连接数据库的方法才能解决这个问题呢?
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bootupnow 2008-04-26
  • 打赏
  • 举报
回复
基本的一点思路,可能不是很好,权当引子鸟~

1. 封装Factory类,在其中实现注册、连接、关闭等。返回Connection到实际需要操作的类中单独操作之
ConnectionFactory.java
public static Connection getConnection(){
// ....
return <Connection>
}


Test.java
....
Connection conn = ConnectionFactory.getConnection();
PreparedStatement stmt = conn.prepareStatement("update .....");
stmt.executeUpdate();
...


2. 传Connection、sql语句到Factory中去操作,需要一个桥梁。
public boolean insert(Connection conn,String sql){
// ....
}
莫情莫钱 2008-04-26
  • 打赏
  • 举报
回复
Test继承DB试试
findself 2008-04-26
  • 打赏
  • 举报
回复
你应该是没把db这个对象引用给t对象 AND db.getConnection()是返回Connection对象?如果是,那db没什么变化,你需要一个Connection对象引用去指向db.getConnection()返回的Connection对象
老紫竹 2008-04-26
  • 打赏
  • 举报
回复
db.getConnection();

没有写正确!去查一下代码
jiazhengjing 2008-04-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 chris_zley 的帖子:]
比如
Db db = new Db();
db.getConnection();
Test t = new Test();
t.insert();

目前的情况是t这个对象并不能利用db打开的数据库连接。。

怎…
[/Quote]

你是想在t对象里面利用db,他俩还没有关系,当然不能用
你可以在Test类中,添加一个Db类的属性。
class Test{
Db db = new Db();
}
Test t = new Test();
t.db.getConnection();
t.db.insert();
大概就这样,不过还是封装好点吧。
wu364241846 2008-04-26
  • 打赏
  • 举报
回复
Db db = new Db();
con =db.getConnection();
prepstment = con.prepareStatement(insertsql);
prepstment.executeUpdate();
yiyi_wx 2008-04-25
  • 打赏
  • 举报
回复
什么意思?在DB中封装好就可以调用了啊~

62,623

社区成员

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

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