sqlmapconfig配置如下<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC" commitRequired="true">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://127.0.0.1:3306/zhiku"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value=""/>
</dataSource>
</transactionManager>
<sqlMap resource="dao/gadgetCategory.xml" />
</sqlMapConfig>java代码 Reader reader = Resources.getResourceAsReader("sql-map-config.xml");
SqlMapClient sqlMapper;
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
GadgetCategoryDao dao = new GadgetCategoryDao();
dao.setSqlMapClient(sqlMapper);
dao.insert();dao的insert方法 public void insert() throws SQLException {
try {
sqlMapClient.startTransaction();
GadgetCategory gc = new GadgetCategory();
gc.setName("test0630");
gc.setPid(100000);
gc.setComment("asfafdaf");
sqlMapClient.insert("insertGadgetCategory", gc);
gc.setEnabled(111111111111L);
sqlMapClient.insert("insertGadgetCategory", gc);
sqlMapClient.commitTransaction();
} finally{
sqlMapClient.endTransaction();
}
}gc.setEnabled(111111111111L);这个字段数据库是11位的,我设为12位,故意让他抛异常,结果第一条还是被插进去了,为什么不回滚啊?看了半天ibatis源码,没看出个所以然来,特此请教大家!
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC" commitRequired="true">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://127.0.0.1:3306/zhiku"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value=""/>
</dataSource>
</transactionManager>
<sqlMap resource="dao/gadgetCategory.xml" />
</sqlMapConfig>java代码 Reader reader = Resources.getResourceAsReader("sql-map-config.xml");
SqlMapClient sqlMapper;
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
GadgetCategoryDao dao = new GadgetCategoryDao();
dao.setSqlMapClient(sqlMapper);
dao.insert();dao的insert方法 public void insert() throws SQLException {
try {
sqlMapClient.startTransaction();
GadgetCategory gc = new GadgetCategory();
gc.setName("test0630");
gc.setPid(100000);
gc.setComment("asfafdaf");
sqlMapClient.insert("insertGadgetCategory", gc);
gc.setEnabled(111111111111L);
sqlMapClient.insert("insertGadgetCategory", gc);
sqlMapClient.commitTransaction();
} finally{
sqlMapClient.endTransaction();
}
}gc.setEnabled(111111111111L);这个字段数据库是11位的,我设为12位,故意让他抛异常,结果第一条还是被插进去了,为什么不回滚啊?看了半天ibatis源码,没看出个所以然来,特此请教大家!
sqlMapClient.startTransaction();
sqlMapClient.endTransaction();
好像不起作用啊