import javax.transaction.*;
import java.sql.*;
public class TransactionExample {
public static void main(String[] args) {
try {
TransactionManager tm = com.arjuna.ats.jta.TransactionManager.transactionManager();
tm.begin();
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password");
Statement stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO users (name, age) VALUES ('John', 25)");
tm.commit();
} catch (Exception e) {
tm.rollback();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>com.arjuna</groupId>
<artifactId>arjuna-jta</artifactId>
<version>1.1</version>
</dependency>
import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSource;
public class DatabaseConfig {
public static DataSource getDataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUrl("jdbc:mysql://localhost:3306/mydb");
dataSource.setUsername("username");
dataSource.setPassword("password");
dataSource.setInitialSize(5);
return dataSource;
}
}