All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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