mybatis 3.0(ibatis变得) 是个很简单又轻量级的orm框架,通过xml写sql使得项目更加易于维护,和spring整合后用起来更加的方便。
mybatis 3.0有个很爽的功能就是直接写接口,由mybatis自己给你创建dao对象,这样就省去了很多代码,而且session等都不用去关注他了,直接xml里实现接口的功能就可以了。
但是这里有个问题(后来不是问题了):分页,
目标做成的分页是跨数据库的,网上找了个插件,很好使。他可以根据RowBounds对象生成数据库的分页方言。
问题来了,mybatis的xml文件传递参数就一个选项:parameterType,也就是只能传一个参数。当然这个选项可以是map,但是分页的RowBounds对象从哪里传?当然可以也放在map里,可是这样就不能跨数据库了。当时苦恼了好几个小时,突然一拍脑袋。去看看创建这个接口代理的代码,后来才发现很简单,直接在dao接口中方法的第一个参数为RowBounds就可以了。
代码:
mybatis 3.0有个很爽的功能就是直接写接口,由mybatis自己给你创建dao对象,这样就省去了很多代码,而且session等都不用去关注他了,直接xml里实现接口的功能就可以了。
但是这里有个问题(后来不是问题了):分页,
目标做成的分页是跨数据库的,网上找了个插件,很好使。他可以根据RowBounds对象生成数据库的分页方言。
问题来了,mybatis的xml文件传递参数就一个选项:parameterType,也就是只能传一个参数。当然这个选项可以是map,但是分页的RowBounds对象从哪里传?当然可以也放在map里,可是这样就不能跨数据库了。当时苦恼了好几个小时,突然一拍脑袋。去看看创建这个接口代理的代码,后来才发现很简单,直接在dao接口中方法的第一个参数为RowBounds就可以了。
代码:
public interface ProductMapper
{
List<Product> productList(RowBounds rowBounds, Map<String, Object> map);
}