org.unlaxer.jaddress.dao.mysql.MysqlConfig Maven / Gradle / Ivy
package org.unlaxer.jaddress.dao.mysql;
import javax.sql.DataSource;
import org.seasar.doma.SingletonConfig;
import org.seasar.doma.jdbc.Config;
import org.seasar.doma.jdbc.JdbcLogger;
import org.seasar.doma.jdbc.dialect.Dialect;
import org.seasar.doma.jdbc.dialect.MysqlDialect;
import org.seasar.doma.jdbc.tx.LocalTransactionDataSource;
import org.seasar.doma.jdbc.tx.LocalTransactionManager;
import org.seasar.doma.jdbc.tx.TransactionManager;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
@SingletonConfig
public class MysqlConfig implements Config {
private static final MysqlConfig CONFIG = new MysqlConfig();
private final HikariConfig config;
private final HikariDataSource hikaridataSource;
private final Dialect dialect;
private final LocalTransactionDataSource dataSource;
private final TransactionManager transactionManager;
private final MysqlLogger mysqlLogger;
private MysqlConfig() {
super();
config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost/api?user=dev&password=zaq12wsx&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC&useLegacyDatetimeCode=false");
hikaridataSource = new HikariDataSource(config);
dataSource = new LocalTransactionDataSource(hikaridataSource);
mysqlLogger = new MysqlLogger();
transactionManager = new LocalTransactionManager(dataSource.getLocalTransaction(getJdbcLogger()));
dialect = new MysqlDialect();
}
@Override
public DataSource getDataSource() {
return dataSource;
}
@Override
public Dialect getDialect() {
return dialect;
}
@Override
public TransactionManager getTransactionManager() {
return transactionManager;
}
@Override
public JdbcLogger getJdbcLogger() {
return mysqlLogger;
}
public static MysqlConfig singleton() {
return CONFIG;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy