ibator mysql 分页_ibator1.2.1扩展支持Oracle、MySQL分页

eclipse ibabis代码生成插件abator功能扩展

2.aquan198163 写道 可以用iBatis的include标签设计类似模板的东西,简化分页sql

自己下载代码进行了相关扩展:

1.支持Oracle、MySQL分页

2.在生成的example类增加了Oracle、MySQL分页的相关字段

0.3版本:

增加了控制生成oracle分页和mysql分页的属性(原来是都生成)

当然这个时候,xml会报错,因为你引用的是网络上面的dtd("http://ibatis.apache.org/dtd/ibator-config_1_0.dtd"),不用理会,一样可以生成,如果都不填写,就是都不生成。

建议在ibatorContext加上Ibatis2Java5:

完整版的配置:

connectionURL="jdbc:mysql://localhost:3306/demo" userId="root"

password="aaa" />

targetProject="test" />

targetProject="test" />

targetProject="test" type="SPRING" />

0.2版本增加了:

4个list的set方法:

protected List criteriaWithoutValue;

protected List criteriaWithSingleValue;

protected List criteriaWithListValue;

protected List criteriaWithBetweenValue;

原来的方法里面没有set。只有get方法,我觉得有时候我不知道传入的是哪个字段,要自己定义一个条件不知道怎么放进去,我就想法先取出list,在set进去,如下:

过滤条件,仿造的是example类中的情况

//Criteria criteria=example.createCriteria();

得到example里面的list

//List listSingle=criteria.getCriteriaWithSingleValue();

再把它注入回去

//criteria.setCriteriaWithSingleValue(this.processFilterInfo(listSingle, sigma.getFilterInfo()));

processFilterInfo方法:

public List processFilterInfo(List listSingle,List filterInfos){

for (int i = 0; i < filterInfos.size(); i++) {

String columnId=filterInfos.get(i).getColumnId();

String logic=filterInfos.get(i).getLogic();

String value=filterInfos.get(i).getValue();

if(logic.equalsIgnoreCase("equal")){

Map map = new HashMap();

map.put("condition", columnId+" =");

map.put("value", value);

listSingle.add(map);

}else if(logic.equalsIgnoreCase("notequal")){

Map map = new HashMap();

map.put("condition", columnId+" <>");

map.put("value", value);

listSingle.add(map);

清单一(修改的相关类):

org.apache.ibatis.ibator.generator.ibatis2.sqlmap---SqlMapGenerator

org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements---OraclePaginationHeadGenerator

org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements---OraclePaginationTailGenerator

org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements---MysqlPaginationLimitGenerator

org.apache.ibatis.ibator.generator.ibatis2.model---ExampleGenerator

org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements---SelectByExampleWithBLOBsElementGenerator

org.apache.ibatis.ibator.generator.ibatis2.sqlmap.elements---SelectByExampleWithoutBLOBsElementGenerator

org.apache.ibatis.ibator.api.dom.java---FullyQualifiedJavaType

搜索“增加开始”或者“增加结束”就能找到修改的地方

SQL_MAP.xml部分:

#oracleStart#]]>

select id, name, stand, money, leavings, orders

from goods

order by $orderByClause$

Example类部分:

public class GoodsExample {

protected String orderByClause;

private Integer oracleStart;

private Integer oracleEnd;

private Integer mysqlOffset;

private Integer mysqlLength;

protected List oredCriteria;

public GoodsExample() {

oredCriteria = new ArrayList();

}

}

附件为ibator1.2.1插件,直接复制到Eclipse的dropins文件夹下即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值