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

com.ext_ext.mybatisext.activerecord.MybatisExt Maven / Gradle / Ivy

package com.ext_ext.mybatisext.activerecord;

import javax.sql.DataSource;

import org.apache.ibatis.session.SqlSessionFactory;

import com.ext_ext.mybatisext.activerecord.config.ColumnMappingAdaptor;
import com.ext_ext.mybatisext.activerecord.dialect.DialectSQL;
import com.ext_ext.mybatisext.activerecord.impl.ConnectorImpl;

/**
 * 入口类
 * 
 * @author rubo
 *
 */
public abstract class MybatisExt {

	// 属性和表列之间的映射关系
	public static ColumnMappingAdaptor adaptor;

	// 手动指定方言
	public static DialectSQL dialectSQL;

	// 连接
	private static final Connector connector = new ConnectorImpl();

	/**
	 * 根据sping配置的数据源打开,在配置了mybatis的完整配置后 使用SpringManagedTransaction,spring的标准配置.
	 * 需用SqlSessionFactoryBeanExt代替SqlSessionFactoryBean在spring中进行配置
	 * 
	 * @return
	 */
	public static DB open() {
		return connector.open();
	}

	/**
	 * 支持多个session工厂
	 * 
	 * @param sessionFactory
	 * @return
	 */
	public static DB open(SqlSessionFactory sessionFactory) {
		return connector.open(sessionFactory);
	}

	/**
	 * 默认数据源打开,自带的数据源,适合导数据,自动提交,使用JdbcTransactionFactory
	 * 
	 * @param driver
	 * @param url
	 * @param username
	 * @param password
	 * @return
	 */
	public static DB open(String driver, String url, String username, String password) {
		return connector.open(driver, url, username, password);
	}

	/**
	 * 指定数据源打开 ,使用ManagedTransaction,手动指定事务管理
	 * 
	 * @param pool
	 * @return
	 */
	public static DB open(DataSource pool) {
		return connector.open(pool);
	}

	/**
	 * 添加映射适配,默认可以不设置,属性名称和表列名称相同,不区分大小写
	 * 
	 * @param adaptor
	 */
	public static void setColumnMappingAdaptor(ColumnMappingAdaptor adaptor) {
		MybatisExt.adaptor = adaptor;
	}

	/**
	 * 指定方言
	 * 

* * @param dialectSQL */ public static void setDialectSQL(DialectSQL dialectSQL) { MybatisExt.dialectSQL = dialectSQL; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy