java reflector_Java DefaultReflectorFactory类代码示例
import org.apache.ibatis.reflection.DefaultReflectorFactory; //导入依赖的package包/类
public Object intercept(Invocation invocation) throws Throwable {
StatementHandler statementHandler = (StatementHandler)invocation.getTarget();
MetaObject metaStatementHandler = MetaObject.forObject(statementHandler, new DefaultObjectFactory(), new DefaultObjectWrapperFactory(), new DefaultReflectorFactory());
RowBounds rowBounds = (RowBounds)metaStatementHandler.getValue("delegate.rowBounds");
if(rowBounds == null || rowBounds == RowBounds.DEFAULT){
return invocation.proceed();
}
if(dialect == null){
Configuration configuration = (Configuration) metaStatementHandler.getValue("delegate.configuration");
Dialect.Type databaseType = null;
String d = configuration.getVariables().getProperty("dialect");
if(d == null || d.trim().equals("")){
throw new IllegalStateException("No property named with 'dialect' defined in mybatis configuration xml file.");
}
try {
databaseType = Dialect.Type.valueOf(d);
} catch (Exception e) {
throw new IllegalStateException(String.format("No such dialect enum defined in class %s.", Dialect.Type.class));
}
switch (databaseType) {
case MYSQL: // MySQL分页
dialect = new MySQLDialect();
break;
case ORACLE: // Oracle分页
dialect = new OracleDialect();
break;
}
if(dialect == null){
throw new IllegalStateException(String.format("No %s dialect found!", databaseType));
}
}
String originalSql = metaStatementHandler.getValue("delegate.boundSql.sql").toString();
metaStatementHandler.setValue("delegate.boundSql.sql", dialect.getLimitSql(originalSql, rowBounds.getOffset(), rowBounds.getLimit()));
metaStatementHandler.setValue("delegate.rowBounds.offset", RowBounds.NO_ROW_OFFSET);
metaStatementHandler.setValue("delegate.rowBounds.limit", RowBounds.NO_ROW_LIMIT);
return invocation.proceed();
}
java reflector_Java DefaultReflectorFactory类代码示例相关推荐
- java dataconvert_Java DateConverter类代码示例
import org.apache.commons.beanutils.converters.DateConverter; //导入依赖的package包/类 /** * Register array ...
- java parseexception_Java ParseException类代码示例
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException; //导入依赖的package包/类 @Overri ...
- java link_Java Link类代码示例
import org.nodes.Link; //导入依赖的package包/类 public static double sizeBetaCopying(DGraph graph, DGraph s ...
- java bar_Java Bar类代码示例
import com.db.chart.model.Bar; //导入依赖的package包/类 @Override protected void onCreate(Bundle savedInsta ...
- java backoff_Java BackOff类代码示例
import org.apache.beam.sdk.util.BackOff; //导入依赖的package包/类 /** * Writes a batch of mutations to Clou ...
- java widget_Java FavoritesWidget类代码示例
import com.google.gwt.sample.dynatablerf.client.widgets.FavoritesWidget; //导入依赖的package包/类 /** * Thi ...
- java direction_Java Direction类代码示例
import android.support.test.uiautomator.Direction; //导入依赖的package包/类 /** * Navigates through the foc ...
- java plugin_Java Plugin类代码示例
import org.apache.logging.log4j.core.config.plugins.Plugin; //导入依赖的package包/类 /** * @since 2.1 */ pu ...
- java jsonresult_Java JsonResult类代码示例
import eu.socialsensor.framework.client.search.visual.JsonResultSet.JsonResult; //导入依赖的package包/类 @O ...
- postgresql java demo_Java PostgreSQL9Dialect类代码示例
import org.hibernate.dialect.PostgreSQL9Dialect; //导入依赖的package包/类 private void addDialects(Strategy ...
最新文章
- 一本冷门书:以色列闪盘之父的创业故事
- 《PhoneGap精粹:构建跨平台的移动App》——1.10节PhoneGap资源
- mysql更新记录删除_mysql 插入-更新-删除
- Node与apidoc的邂逅——NodeJS Restful 的API文档生成
- RSA算法原理——(3)RSA加解密过程及公式论证
- 走近NAP功能 全面了解Vista系统安全机制
- oracle存储过程行转列,oracle 存储过程-动态行转列,解决。
- 字节序转换 oracle,Oracle10g同字节序跨平台迁移
- bzoj1180: [CROATIAN2009]OTOCI
- 【elasticsearch】Elasticsearch : alias数据类型
- KETTLE初学者使用教程
- 获取POM.XML依赖的JAR包
- C# DevExpress组件 - ChartControl图表控件
- Excel 转置分组时如何保留没有对应数据的空组
- 超全整理:程序员都在用什么工具?
- 计算机专业考研2021,2021考研:计算机考研方向,了解一下
- java随机生成随机整数_java生成随机整数
- android10全面屏手势 操作图,丨系统设计丨ZUI 10加入更多全面屏手势
- 旭锋科技制造信息管理系统
- 清华大学计算机系2016名单,关于电子系2016 级、2017 级本科生分流至微纳电子系学生名单公示...
热门文章
- .net中哈希表的使用 Hashtable
- 看到大家在讨论阿拉伯数字-》汉字数字的转换,拿出我去年写的C版本
- 【笔记】gradle命令行运行任务如何设置代理模式
- JVM - 对象访问
- fdisk 创建和维护磁盘分区命令(MBR分区方案)
- 计算机单机游戏c0005错误,堡垒之夜Epic Games Launcher错误怎么办错误解决方法介绍...
- java 整形数据类型_3.2Java基本数据类型之整型
- esp8266一键安装arduino板_STM32 与 Arduino
- jenkins war包_Jenkins 集成postman 自动化运行接口测试用例
- python百度关键词自动提交订单_百度链接提交-主动推送Python版