JAVA连接与事务

wwzwwq 2008-04-22 09:27:41
我们用两个类来分别操作两张表。

public void deleteUser()
{
获取一个连接;
删除一个用户;
关闭连接;
}

public void deleteArticle(int userid)
{
获取一个连接;
删除指定用户的文章列表;
关闭连接;
}

这时如果要删除一个用户,由于用户与文章表关联,则删除用户前要把该用户对应的文章删除掉,再删除用户。
所以要用到事务

如上的方法写下来,是不能满足事务的需求的。

那么上述的方法必须怎么改呢?
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gshywx 2008-04-30
  • 打赏
  • 举报
回复
顶了
TomyGuan 2008-04-23
  • 打赏
  • 举报
回复
把二個放在一起作事務便于工作便可。
如果樓主用了spring+hibernate。事務管理那里就更方便點了。
wangwenjun69 2008-04-23
  • 打赏
  • 举报
回复
将两个放到一起就可以了,因为这样做只是一个事务,不会导致冲突,删除的时候还要注意顺序,先删除外键所在的表,然后在删除主键所在的表,插入的时候则相反,understand?
牛仔一灯 2008-04-22
  • 打赏
  • 举报
回复
学习了啊
anqini 2008-04-22
  • 打赏
  • 举报
回复

static Connection conn = null;
{
取得conn....
}
public void deleteUser()
{
取出上面取到的conn;
删除一个用户;
}

public void deleteArticle(int userid)
{
取出上面取到的conn;
删除指定用户的文章列表;
}

apm70plus 2008-04-22
  • 打赏
  • 举报
回复
两个删除操作放到一个事务里;关键就是用同一个连接,执行完两个删除操作后commit事务应该就可以了。你上面方法用到了两个连接,就是两个事务
loemkie 2008-04-22
  • 打赏
  • 举报
回复
可以考虑表之间 设计关联关系 就可以了
删除1条记录 有关系的也会跟着删除
或者采用hibernate也有这样的功能

62,623

社区成员

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

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