形成的 one-to-many 保存如下:
package test; import java.io.Reader; import com.ibatis.sqlmap.client.*;import com.ibatis.common.resources.*; import bo.*; public class AutoMag { private Reader reader; private SqlMapClient sqlMap; private String resource = "SqlMapConfig.xml"; public void insertPeople() throws Exception{ try{ reader = Resources.getResourceAsReader(resource); sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader); sqlMap.startTransaction(); People people=new People(); people.setName("张三"); people.setAddress("中国"); sqlMap.insert("insertPeople",people); AutoInfo autoInfo=new AutoInfo(); autoInfo.setLicensePlate("A00001"); autoInfo.setOwnerNo(people); sqlMap.insert("insertAutoInfo",autoInfo); sqlMap.commitTransaction(); }finally{ sqlMap.endTransaction(); } }}
package test;
import java.io.Reader;
import com.ibatis.sqlmap.client.*;import com.ibatis.common.resources.*;
import bo.*;
public class AutoMag {
private Reader reader; private SqlMapClient sqlMap; private String resource = "SqlMapConfig.xml"; public void insertPeople() throws Exception{ try{ reader = Resources.getResourceAsReader(resource); sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader); sqlMap.startTransaction(); People people=new People(); people.setName("张三"); people.setAddress("中国"); sqlMap.insert("insertPeople",people);
AutoInfo autoInfo=new AutoInfo(); autoInfo.setLicensePlate("A00001"); autoInfo.setOwnerNo(people); sqlMap.insert("insertAutoInfo",autoInfo); sqlMap.commitTransaction(); }finally{ sqlMap.endTransaction(); } }}
程序和 Hibernate 写法差不多,我感觉甚至比 Hibernate 更简单。我可以显示的进行 insert 操作,符合传统 JDBC 编程习惯。iBATIS SQL Maps 支持自动事务处理,可以不用写明 startTransaction、commitTransaction。但如果 People insert 操作成功,而 AutoInfo insert 操作失败,就破坏了两次 insert 操作的原子性。最后 endTransaction
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18