Loading common-repository/jdbc-repository/pom.xml 0 → 100644 +15 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>common-repository</artifactId> <groupId>io.shardingsphere</groupId> <version>3.0.0.M5-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>jdbc-repository</artifactId> </project> No newline at end of file sharding-proxy-example/src/main/java/io/shardingsphere/example/proxy/repository/XaRawJdbcRepository.java→common-repository/jdbc-repository/src/main/java/io/shardingsphere/example/repository/common/repository/DataRepository.java +38 −13 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ * </p> */ package io.shardingsphere.example.proxy.repository; package io.shardingsphere.example.repository.common.repository; import javax.sql.DataSource; import java.sql.Connection; Loading @@ -24,12 +24,19 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class XaRawJdbcRepository { public class DataRepository { private final DataSource dataSource; public XaRawJdbcRepository(final DataSource dataSource) { private final boolean isXA; public DataRepository(final DataSource dataSource) { this(dataSource, false); } public DataRepository(final DataSource dataSource, final boolean isXA) { this.dataSource = dataSource; this.isXA = isXA; } public void demo() throws SQLException { Loading @@ -51,7 +58,7 @@ public class XaRawJdbcRepository { private void insertData() throws SQLException { Connection connection = dataSource.getConnection(); connection.setAutoCommit(false); setAutoCommit(connection); Statement statement = connection.createStatement(); try { for (int i = 1; i < 10; i++) { Loading @@ -60,9 +67,9 @@ public class XaRawJdbcRepository { orderId = insertAndGetGeneratedKey(statement,"INSERT INTO t_order (user_id, status) VALUES (11, 'INIT')"); statement.execute(String.format("INSERT INTO t_order_item (order_id, user_id) VALUES (%d, 11)", orderId)); } connection.commit(); commit(connection); } catch (SQLException ex) { connection.rollback(); rollback(connection); } finally { connection.close(); Loading @@ -72,7 +79,7 @@ public class XaRawJdbcRepository { private void insertFailure() throws SQLException { Connection connection = dataSource.getConnection(); connection.setAutoCommit(false); setAutoCommit(connection); Statement statement = connection.createStatement(); try { for (int i = 1; i < 10; i++) { Loading @@ -82,9 +89,9 @@ public class XaRawJdbcRepository { statement.execute(String.format("INSERT INTO t_order_item (order_id, user_id) VALUES (%d, 11)", orderId)); } makeException(); connection.commit(); commit(connection); } catch (Exception ex) { connection.rollback(); rollback(connection); } finally { connection.close(); Loading @@ -107,9 +114,9 @@ public class XaRawJdbcRepository { return result; } protected void updateData() throws SQLException { private void updateData() throws SQLException { Connection connection = dataSource.getConnection(); connection.setAutoCommit(false); setAutoCommit(connection); try { for (int i = 1; i <= 10; i++) { Long orderId = getRandomOrderId(connection, 10); Loading @@ -119,9 +126,9 @@ public class XaRawJdbcRepository { preparedStatement.setObject(2, orderId); preparedStatement.executeUpdate(); } connection.commit(); commit(connection); } catch (SQLException ex) { connection.rollback(); rollback(connection); } finally { connection.close(); Loading @@ -141,6 +148,24 @@ public class XaRawJdbcRepository { return 0L; } private void setAutoCommit(final Connection connection) throws SQLException { if (isXA) { connection.setAutoCommit(false); } } private void commit(final Connection connection) throws SQLException { if (isXA) { connection.commit(); } } private void rollback(final Connection connection) throws SQLException { if (isXA) { connection.rollback(); } } private void queryWithEqual() throws SQLException { String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=?"; try ( Loading sharding-jdbc-example/raw-jdbc-example/src/main/java/io/shardingsphere/example/jdbc/fixture/DataSourceUtil.java→common-repository/jdbc-repository/src/main/java/io/shardingsphere/example/repository/common/repository/DataSourceUtil.java +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ * </p> */ package io.shardingsphere.example.jdbc.fixture; package io.shardingsphere.example.repository.common.repository; import org.apache.commons.dbcp.BasicDataSource; Loading common-repository/jpa-repository/pom.xml 0 → 100644 +41 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>common-repository</artifactId> <groupId>io.shardingsphere</groupId> <version>3.0.0.M5-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>jpa-repository</artifactId> <dependencies> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>${jpa.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring-framework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring-framework.version}</version> </dependency> </dependencies> </project> No newline at end of file sharding-jdbc-example/spring-boot-example/spring-boot-data-jpa-example/src/main/java/io/shardingsphere/example/spring/boot/jpa/entity/Order.java→common-repository/jpa-repository/src/main/java/io/shardingsphere/example/repository/jpa/entity/Order.java +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ * </p> */ package io.shardingsphere.example.spring.boot.jpa.entity; package io.shardingsphere.example.repository.jpa.entity; import javax.persistence.Column; import javax.persistence.Entity; Loading Loading
common-repository/jdbc-repository/pom.xml 0 → 100644 +15 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>common-repository</artifactId> <groupId>io.shardingsphere</groupId> <version>3.0.0.M5-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>jdbc-repository</artifactId> </project> No newline at end of file
sharding-proxy-example/src/main/java/io/shardingsphere/example/proxy/repository/XaRawJdbcRepository.java→common-repository/jdbc-repository/src/main/java/io/shardingsphere/example/repository/common/repository/DataRepository.java +38 −13 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ * </p> */ package io.shardingsphere.example.proxy.repository; package io.shardingsphere.example.repository.common.repository; import javax.sql.DataSource; import java.sql.Connection; Loading @@ -24,12 +24,19 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class XaRawJdbcRepository { public class DataRepository { private final DataSource dataSource; public XaRawJdbcRepository(final DataSource dataSource) { private final boolean isXA; public DataRepository(final DataSource dataSource) { this(dataSource, false); } public DataRepository(final DataSource dataSource, final boolean isXA) { this.dataSource = dataSource; this.isXA = isXA; } public void demo() throws SQLException { Loading @@ -51,7 +58,7 @@ public class XaRawJdbcRepository { private void insertData() throws SQLException { Connection connection = dataSource.getConnection(); connection.setAutoCommit(false); setAutoCommit(connection); Statement statement = connection.createStatement(); try { for (int i = 1; i < 10; i++) { Loading @@ -60,9 +67,9 @@ public class XaRawJdbcRepository { orderId = insertAndGetGeneratedKey(statement,"INSERT INTO t_order (user_id, status) VALUES (11, 'INIT')"); statement.execute(String.format("INSERT INTO t_order_item (order_id, user_id) VALUES (%d, 11)", orderId)); } connection.commit(); commit(connection); } catch (SQLException ex) { connection.rollback(); rollback(connection); } finally { connection.close(); Loading @@ -72,7 +79,7 @@ public class XaRawJdbcRepository { private void insertFailure() throws SQLException { Connection connection = dataSource.getConnection(); connection.setAutoCommit(false); setAutoCommit(connection); Statement statement = connection.createStatement(); try { for (int i = 1; i < 10; i++) { Loading @@ -82,9 +89,9 @@ public class XaRawJdbcRepository { statement.execute(String.format("INSERT INTO t_order_item (order_id, user_id) VALUES (%d, 11)", orderId)); } makeException(); connection.commit(); commit(connection); } catch (Exception ex) { connection.rollback(); rollback(connection); } finally { connection.close(); Loading @@ -107,9 +114,9 @@ public class XaRawJdbcRepository { return result; } protected void updateData() throws SQLException { private void updateData() throws SQLException { Connection connection = dataSource.getConnection(); connection.setAutoCommit(false); setAutoCommit(connection); try { for (int i = 1; i <= 10; i++) { Long orderId = getRandomOrderId(connection, 10); Loading @@ -119,9 +126,9 @@ public class XaRawJdbcRepository { preparedStatement.setObject(2, orderId); preparedStatement.executeUpdate(); } connection.commit(); commit(connection); } catch (SQLException ex) { connection.rollback(); rollback(connection); } finally { connection.close(); Loading @@ -141,6 +148,24 @@ public class XaRawJdbcRepository { return 0L; } private void setAutoCommit(final Connection connection) throws SQLException { if (isXA) { connection.setAutoCommit(false); } } private void commit(final Connection connection) throws SQLException { if (isXA) { connection.commit(); } } private void rollback(final Connection connection) throws SQLException { if (isXA) { connection.rollback(); } } private void queryWithEqual() throws SQLException { String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=?"; try ( Loading
sharding-jdbc-example/raw-jdbc-example/src/main/java/io/shardingsphere/example/jdbc/fixture/DataSourceUtil.java→common-repository/jdbc-repository/src/main/java/io/shardingsphere/example/repository/common/repository/DataSourceUtil.java +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ * </p> */ package io.shardingsphere.example.jdbc.fixture; package io.shardingsphere.example.repository.common.repository; import org.apache.commons.dbcp.BasicDataSource; Loading
common-repository/jpa-repository/pom.xml 0 → 100644 +41 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>common-repository</artifactId> <groupId>io.shardingsphere</groupId> <version>3.0.0.M5-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>jpa-repository</artifactId> <dependencies> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>${jpa.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring-framework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring-framework.version}</version> </dependency> </dependencies> </project> No newline at end of file
sharding-jdbc-example/spring-boot-example/spring-boot-data-jpa-example/src/main/java/io/shardingsphere/example/spring/boot/jpa/entity/Order.java→common-repository/jpa-repository/src/main/java/io/shardingsphere/example/repository/jpa/entity/Order.java +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ * </p> */ package io.shardingsphere.example.spring.boot.jpa.entity; package io.shardingsphere.example.repository.jpa.entity; import javax.persistence.Column; import javax.persistence.Entity; Loading