写个service方法将两个insert操作看为一个事物处理
与原来一张表差不多
与原来一张表差不多
解决方案 »
- webservice 客户端调用服务端异常: javax.xml.bind.UnmarshalException
- hibernate 一对一映射 为什么 配置文件无法加载映射文件?
- 数据库的事物和jdbc的事物有很么不同?
- 大家帮我看一下问题出在哪里了呀?
- Date类型的格式化
- 请问一下如何在JSP网站中过滤敏感词汇啊??如何实现
- java在JSP中的图片剪裁
- 跪求Struts中的Validator前台验证的例子
- 关于web service的入门问题
- 用的Jbuilder8+weblogic server+SQL做开发的时候,在开发一个客户端测试程序的时候,出现这样的错误
- jacob问题
- spring的TransactionTemplate的疑惑
给你们个例子:用户名:
密码:
机车
法拉利 数量 凯迪拉克 数量
布加迪 数量 劳斯莱斯 数量 在这个注册表里 一张用户表 一张机车表
在dao里怎么写?
1.开启事物
2.调用dao层的那两个insert方法
3.提交事物 (当全部成功时,submit 有不成功时 回滚事物)
密码:
机车
法拉利 数量 凯迪拉克 数量
布加迪 数量 劳斯莱斯 数量 public void save(User user)
{
getHibernateTemplate().save(bid);
}
public void save(Mac mac)
{
getHibernateTemplate().save(mac);
}这样吗?? 唉
我要疯掉了
session.save(a1);
foreach(B b: bList){
session.save(b);
}
然后提交,失败rollback,
如果有外键关联的比如onetomany,尤其注意同一对象在session中同时只能存在一个,
dao:
___________________________________
import com.wxw.model.User; public interface UserDao {
public void save(User user);
}
_____________________________________import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.wxw.dao.UserDao;
import com.wxw.model.User;public class UserDaoHibernate extends HibernateDaoSupport implements UserDao { public void save(User user) {
this.getHibernateTemplate().save(user);
}
}
___________________________________________import com.wxw.model.Car;
public interface CarDao {
public void save(Car car);
}
_______________________________import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.wxw.dao.CarDao;
import com.wxw.model.Car;public class CarDaoHibernate extends HibernateDaoSupport implements CarDao { public void save(Car car) {
this.getHibernateTemplate().save(car);
}
}
_____________________________________
service:
import com.wxw.dao.CarDao;
import com.wxw.dao.UserDao;
import com.wxw.model.Car;
import com.wxw.model.User;public class UserMessageService {
private UserDao userDao;
private CarDao carDao;
public void save(User user ,Car car){
userDao.save(user) ;
carDao.save(car);
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void setCarDao(CarDao carDao) {
this.carDao = carDao;
}
}
_____________________________________
action:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.wxw.form.UserMessageForm;
import com.wxw.model.Car;
import com.wxw.model.User;
import com.wxw.service.UserMessageService;public class UserLoginAction extends Action {
private UserMessageService userMessageService; @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserMessageForm userMessageForm=(UserMessageForm)form;
User user=new User();
Car car=new Car();
user.setUsername(userMessageForm.getUsername());
user.setPassword(userMessageForm.getPassword());
car.setName(userMessageForm.getName());
car.setCarnumber(userMessageForm.getCarnumber());
userMessageService.save(user, car);
return mapping.findForward("success");
} public void setUserMessageService(UserMessageService userMessageService) {
this.userMessageService = userMessageService;
}}
想要看全部源代码的话留下你的Email地址