Loading example-common/repository-api/src/main/java/org/apache/shardingsphere/example/common/DataSourceUtil.java +1 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ public class DataSourceUtil { public static DataSource createDataSource(final String dataSourceName) { HikariDataSource result = new HikariDataSource(); result.setDriverClassName(com.mysql.jdbc.Driver.class.getName()); result.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s?serverTimezone=UTC&useSSL=false", HOST, PORT, dataSourceName)); result.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8", HOST, PORT, dataSourceName)); result.setUsername(USER_NAME); result.setPassword(PASSWORD); return result; Loading example-common/repository-api/src/main/java/org/apache/shardingsphere/example/common/entity/Country.java 0 → 100644 +70 −0 Original line number Diff line number Diff line /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.shardingsphere.example.common.entity; import java.io.Serializable; public class Country implements Serializable { private static final long serialVersionUID = 4522167390518926493L; private long id; private String name; private String code; private String language; public long getId() { return id; } public void setId(final long id) { this.id = id; } public String getCode() { return code; } public void setCode(final String code) { this.code = code; } public String getName() { return name; } public void setName(final String name) { this.name = name; } public String getLanguage() { return language; } public void setLanguage(final String language) { this.language = language; } @Override public String toString() { return String.format("id: %s, name: %s, code: %s, language: %s", id, name, code, language); } } example-common/repository-api/src/main/java/org/apache/shardingsphere/example/common/entity/User.java +1 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ public class User implements Serializable { return assistedQueryPwd; } public void setAssistedQueryPwd(String assistedQueryPwd) { public void setAssistedQueryPwd(final String assistedQueryPwd) { this.assistedQueryPwd = assistedQueryPwd; } } example-common/repository-api/src/main/java/org/apache/shardingsphere/example/common/repository/CountryRepository.java 0 → 100644 +23 −0 Original line number Diff line number Diff line /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.shardingsphere.example.common.repository; import org.apache.shardingsphere.example.common.entity.Country; public interface CountryRepository extends CommonRepository<Country, String> { } example-common/repository-jdbc/src/main/java/org/apache/shardingsphere/example/common/jdbc/repository/CountryRepositroyImpl.java 0 → 100644 +122 −0 Original line number Diff line number Diff line /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.shardingsphere.example.common.jdbc.repository; import org.apache.shardingsphere.example.common.entity.Country; import org.apache.shardingsphere.example.common.repository.CountryRepository; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.LinkedList; import java.util.List; public class CountryRepositroyImpl implements CountryRepository { private final DataSource dataSource; public CountryRepositroyImpl(final DataSource dataSource) { this.dataSource = dataSource; } @Override public void createTableIfNotExists() { String sql = "CREATE TABLE IF NOT EXISTS t_country (id BIGINT NOT NULL AUTO_INCREMENT, name VARCHAR(50),code VARCHAR(50), language VARCHAR(50), PRIMARY KEY (id))"; try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) { statement.executeUpdate(sql); } catch (final SQLException ignored) { } } @Override public void dropTable() { String sql = "DROP TABLE t_country"; try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) { statement.executeUpdate(sql); } catch (final SQLException ignored) { } } @Override public void truncateTable() { String sql = "TRUNCATE TABLE t_country"; try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) { statement.executeUpdate(sql); } catch (final SQLException ignored) { } } @Override public String insert(final Country country) { String sql = "INSERT INTO t_country (name, code, language) VALUES (?, ?, ?)"; try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) { preparedStatement.setString(1, country.getName()); preparedStatement.setString(2, country.getCode()); preparedStatement.setString(3, country.getLanguage()); preparedStatement.executeUpdate(); ResultSet rs = connection.createStatement().executeQuery("SELECT @@IDENTITY"); while (rs.next()) { country.setId(rs.getLong("@@IDENTITY")); } } catch (final SQLException ignored) { } return country.getCode(); } @Override public void delete(final String code) { String sql = "DELETE FROM t_country WHERE code =?"; try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) { preparedStatement.setString(1, code); preparedStatement.executeUpdate(); } catch (final SQLException ignored) { } } @Override public List<Country> selectAll() { String sql = "SELECT * FROM t_country"; return getCountries(sql); } private List<Country> getCountries(final String sql) { List<Country> result = new LinkedList<>(); try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement.executeQuery()) { while (resultSet.next()) { Country country = new Country(); country.setId(resultSet.getLong(1)); country.setName(resultSet.getString(2)); country.setCode(resultSet.getString(3)); country.setLanguage(resultSet.getString(4)); result.add(country); } } catch (final SQLException ignored) { } return result; } } Loading
example-common/repository-api/src/main/java/org/apache/shardingsphere/example/common/DataSourceUtil.java +1 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ public class DataSourceUtil { public static DataSource createDataSource(final String dataSourceName) { HikariDataSource result = new HikariDataSource(); result.setDriverClassName(com.mysql.jdbc.Driver.class.getName()); result.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s?serverTimezone=UTC&useSSL=false", HOST, PORT, dataSourceName)); result.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8", HOST, PORT, dataSourceName)); result.setUsername(USER_NAME); result.setPassword(PASSWORD); return result; Loading
example-common/repository-api/src/main/java/org/apache/shardingsphere/example/common/entity/Country.java 0 → 100644 +70 −0 Original line number Diff line number Diff line /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.shardingsphere.example.common.entity; import java.io.Serializable; public class Country implements Serializable { private static final long serialVersionUID = 4522167390518926493L; private long id; private String name; private String code; private String language; public long getId() { return id; } public void setId(final long id) { this.id = id; } public String getCode() { return code; } public void setCode(final String code) { this.code = code; } public String getName() { return name; } public void setName(final String name) { this.name = name; } public String getLanguage() { return language; } public void setLanguage(final String language) { this.language = language; } @Override public String toString() { return String.format("id: %s, name: %s, code: %s, language: %s", id, name, code, language); } }
example-common/repository-api/src/main/java/org/apache/shardingsphere/example/common/entity/User.java +1 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ public class User implements Serializable { return assistedQueryPwd; } public void setAssistedQueryPwd(String assistedQueryPwd) { public void setAssistedQueryPwd(final String assistedQueryPwd) { this.assistedQueryPwd = assistedQueryPwd; } }
example-common/repository-api/src/main/java/org/apache/shardingsphere/example/common/repository/CountryRepository.java 0 → 100644 +23 −0 Original line number Diff line number Diff line /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.shardingsphere.example.common.repository; import org.apache.shardingsphere.example.common.entity.Country; public interface CountryRepository extends CommonRepository<Country, String> { }
example-common/repository-jdbc/src/main/java/org/apache/shardingsphere/example/common/jdbc/repository/CountryRepositroyImpl.java 0 → 100644 +122 −0 Original line number Diff line number Diff line /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.shardingsphere.example.common.jdbc.repository; import org.apache.shardingsphere.example.common.entity.Country; import org.apache.shardingsphere.example.common.repository.CountryRepository; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.LinkedList; import java.util.List; public class CountryRepositroyImpl implements CountryRepository { private final DataSource dataSource; public CountryRepositroyImpl(final DataSource dataSource) { this.dataSource = dataSource; } @Override public void createTableIfNotExists() { String sql = "CREATE TABLE IF NOT EXISTS t_country (id BIGINT NOT NULL AUTO_INCREMENT, name VARCHAR(50),code VARCHAR(50), language VARCHAR(50), PRIMARY KEY (id))"; try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) { statement.executeUpdate(sql); } catch (final SQLException ignored) { } } @Override public void dropTable() { String sql = "DROP TABLE t_country"; try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) { statement.executeUpdate(sql); } catch (final SQLException ignored) { } } @Override public void truncateTable() { String sql = "TRUNCATE TABLE t_country"; try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) { statement.executeUpdate(sql); } catch (final SQLException ignored) { } } @Override public String insert(final Country country) { String sql = "INSERT INTO t_country (name, code, language) VALUES (?, ?, ?)"; try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) { preparedStatement.setString(1, country.getName()); preparedStatement.setString(2, country.getCode()); preparedStatement.setString(3, country.getLanguage()); preparedStatement.executeUpdate(); ResultSet rs = connection.createStatement().executeQuery("SELECT @@IDENTITY"); while (rs.next()) { country.setId(rs.getLong("@@IDENTITY")); } } catch (final SQLException ignored) { } return country.getCode(); } @Override public void delete(final String code) { String sql = "DELETE FROM t_country WHERE code =?"; try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) { preparedStatement.setString(1, code); preparedStatement.executeUpdate(); } catch (final SQLException ignored) { } } @Override public List<Country> selectAll() { String sql = "SELECT * FROM t_country"; return getCountries(sql); } private List<Country> getCountries(final String sql) { List<Country> result = new LinkedList<>(); try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement.executeQuery()) { while (resultSet.next()) { Country country = new Country(); country.setId(resultSet.getLong(1)); country.setName(resultSet.getString(2)); country.setCode(resultSet.getString(3)); country.setLanguage(resultSet.getString(4)); result.add(country); } } catch (final SQLException ignored) { } return result; } }