1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.transaction.jdbc;
17
18 import java.sql.Connection;
19 import java.util.Properties;
20
21 import javax.sql.DataSource;
22
23 import org.apache.ibatis.session.TransactionIsolationLevel;
24 import org.apache.ibatis.transaction.Transaction;
25 import org.apache.ibatis.transaction.TransactionFactory;
26
27
28
29
30
31
32
33
34 public class JdbcTransactionFactory implements TransactionFactory {
35
36 private boolean skipSetAutoCommitOnClose;
37
38 @Override
39 public void setProperties(Properties props) {
40 if (props == null) {
41 return;
42 }
43 String value = props.getProperty("skipSetAutoCommitOnClose");
44 if (value != null) {
45 skipSetAutoCommitOnClose = Boolean.parseBoolean(value);
46 }
47 }
48
49 @Override
50 public Transaction newTransaction(Connection conn) {
51 return new JdbcTransaction(conn);
52 }
53
54 @Override
55 public Transaction newTransaction(DataSource ds, TransactionIsolationLevel level, boolean autoCommit) {
56 return new JdbcTransaction(ds, level, autoCommit, skipSetAutoCommitOnClose);
57 }
58 }