需求:从jsp页面上获取到一系列数据,然后将这些数据插入到五张表中,例如:
从页面上获取到5个name,{name1,name2,name3,name4,name5};数据库中有5张表,{t1,t2,t3,t4,t5};
当将name1插入到t1时,会自动生成一个id,我们定义为id1,然后将name2插入t2,同样生成一个id2,接下来将name3和id1插入到t3,生成id3,同样将name4和id2插入t4,生成id4,最后将id3和id4以及name5插入t5.
上面的操作都是在DAO层的一个方法里面写,如何做,高手指点下!谢谢!
从页面上获取到5个name,{name1,name2,name3,name4,name5};数据库中有5张表,{t1,t2,t3,t4,t5};
当将name1插入到t1时,会自动生成一个id,我们定义为id1,然后将name2插入t2,同样生成一个id2,接下来将name3和id1插入到t3,生成id3,同样将name4和id2插入t4,生成id4,最后将id3和id4以及name5插入t5.
上面的操作都是在DAO层的一个方法里面写,如何做,高手指点下!谢谢!
try {
conn.setAutoCommit(false); //process your sql command. conn.commit();
} catch(Exception e) {
conn.rollback();
}
Session session = null; Transaction tx = null; public void changeLimits(Userslogin u1,Userslogin2 u2,Userslogin3 u3) {
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
session.saveOrUpdate(u1);
tx.commit();
tx = session.beginTransaction();
session.saveOrUpdate(u2);
tx.commit();
tx = session.beginTransaction();
session.saveOrUpdate(u3);
tx.commit();
} catch (Exception e) {
e.printStackTrace();
if (tx != null) {
tx.rollback();
tx = null;
} } finally {
if (session != null) {
session.close();
session = null;
}
}
}
保险一点就把tx换成tx1,tx2。Transaction tx1 = Transaction tx2 =
不知道这么写可不可以