iBatis事务
iBatis配置:
<?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><settings cacheModelsEnabled="true" enhancementEnabled="true"lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /><transactionManager type="JDBC"><dataSource type="SIMPLE"><property name="JDBC.Driver" value="com.mysql.jdbc.Driver" /><property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost/test" /><property name="JDBC.Username" value="root" /><property name="JDBC.Password" value="mysql" /><!-- 下面这个属性其实没有意义,都会被设置为false --><!--<property name="JDBC.DefaultAutoCommit" value="true" />--><property name="Pool.MaximumActiveConnections" value="10" /><property name="Pool.MaximumIdleConnections" value="5" /><property name="Pool.MaximumCheckoutTime" value="120000" /><property name="Pool.TimeToWait" value="500" /><property name="Pool.PingQuery" value="select 1 from sample" /><property name="Pool.PingEnabled" value="false" /><property name="Pool.PingConnectionsOlderThan" value="1" /><property name="Pool.PingConnectionsNotUsedFor" value="1" /></dataSource></transactionManager><sqlMap resource="com/angi/ibatis/maps/User.xml" /></sqlMapConfig>
User user = new User();user.setName("Angi00011@gmail.com");user.setSex(new Integer(1));sqlMap.insert("insertUser", user);try {sqlMap.startTransaction();User user = new User();user.setName("Angi0007@gmail.com");user.setSex(new Integer(1));sqlMap.insert("insertUser", user);sqlMap.commitTransaction();} catch (SQLException e) {System.out.println(e.getMessage());} finally {try {sqlMap.endTransaction();} catch (SQLException e) {e.printStackTrace();}System.out.println("Insert successfully!");}