设为首页 加入收藏

TOP

[Java][MyBatis]物理分页实现(二)
2014-11-23 23:57:13 来源: 作者: 【 】 浏览:18
Tags:Java MyBatis 物理 实现
rams instanceof Map){
@SuppressWarnings("unchecked")
Map paramsMap = (Map)params;
MapUtils.safeAddToMap(paramsMap, "STARTROW", String.valueOf(rowBounds.getOffset()));
MapUtils.safeAddToMap(paramsMap, "ENDROW", String.valueOf(rowBounds.getLimit()));
}

String sql = boundSql.getSql();
StringBuffer sbSql = new StringBuffer();


@Override
public Object plugin(Object target) {
// 当目标类是StatementHandler类型时,才包装目标类,否者直接返回目标本身,减少目标被代理的次数
if (target instanceof StatementHandler) {
return Plugin.wrap(target, this);
} else {
return target;
}
}


@Override
public void setProperties(Properties properties) {
// TODO Auto-generated method stub

}


}


2、配置读取类


/**
* 版权所有:华信软件
* 项目名称:ACWS框架类
* 创建者: Wangdf
* 创建日期: 2014-4-2
* 文件说明: ACWS框架数据库相关工具类
*/
package framework.core.util;


import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.session.Configuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
* ACWS框架数据库相关工具类
* @author Wangdf
*/
public class DBUtil {
private static final String DBTYPE_MYSQL = "MySQL";//支持的类型:MySQL,Oracle
private static final String DBTYPE_ORACLE = "Oracle";//支持的类型:MySQL,Oracle


private static Logger logger = LoggerFactory.getLogger(DBUtil.class);
private Configuration configuration = null;

private String dbType = "";
private String defaultDateFormat = "";

public DBUtil(Configuration configuration){
if(configuration == null){
logger.error("系统启动失败:MyBatis Configuration 对象为空!");
throw new IllegalArgumentException("系统启动失败:MyBatis Configuration 对象为空!");
}
this.configuration = configuration;
this.dbType = this.configuration.getVariables().getProperty("dbtype");
if(StringUtils.isBlank(dbType)){
logger.error("数据库类型没有配置!");
} else {
logger.info("数据库类型为:"+dbType);
}
this.defaultDateFormat = this.configuration.getVariables().getProperty("defaultDateFormat");
if(StringUtils.isBlank(this.defaultDateFormat)){
this.defaultDateFormat="yyyy-MM-dd";
logger.info("数据库日期默认格式字符串没有指定!系统默认为:yyyy-MM-dd");
} else {
logger.info("数据库日期默认格式字符串:"+this.defaultDateFormat);
}
}

/**
* 判断是否是Oracle数据库
* @return
* @author wangdf
*/
public boolean isOracle(){
return DBTYPE_ORACLE.equals(this.dbType);
}


/**
* 判断是否是MySQL数据库
* @return
* @author wangdf
*/
public boolean isMySQL(){
return DBTYPE_MYSQL.equals(this.dbType);
}

/**
* 取得数据库类型
* @return
* @author wangdf
*/
public String getDbType(){
return this.dbType;
}


/**
* 取得默认日期格式
* @return
* @author wangdf
*/
public String getDefaultDateFormat(){
return this.defaultDateFormat;
}


}


3、在mybatis全局配置文件设置


< xml version="1.0" encoding="UTF-8" >




















首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数字三角形(递归、动态规划) 下一篇Python 中的@修饰符作用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: