主题:pageQuery 使用心得

jiuyouma 2018年07月07日 104

今天试了下pageQuery 有以下几点综合个人习惯使用起来不太方便。

1. pageQuery.setPara(Object), 一般查询传参会将参数进行封装到bean中,但是直接使用该方法,除非为Map对象,否则在sql中还需要增加额外参数来获取。如 传入 userBean  在sql 中需要 通过 _root.username 才能入参。感觉体验不好。

改进:  将bean 转 json  再 json转map

2.pageQuery 查询结果后,直接获取json,发现  totalPage 为 0。还需要在转json前调用 getTotalPage()。此方法内部调用calcTotalPage,通过 totalRow 和 pageSize 进行计算。

改进:在setTotalRow 方法中 调用 calcTotalPage。



总结:

beetlsql  总体来说还是相当便捷的,sql清晰、易使用。

缺点:

需要对beetl了解。md文件中需要对对应的Dao进行说明,否则不容易查找。

以上为个人意见,仅供参考

闲大赋 2018年07月08日

多谢回复和总结

setPara 后,可以直接通过属性名来引用变量

UserDao dao = sql.getMapper(UserDao.class);
PageQuery<User> page = new PageQuery<User>();
User user = new User();
user.setName("a");
page.setParas(user);
dao.getIds3(page);
getIds3
===
	select 
	@pageTag(){
	 #use("cols")#
	@}
	from user  u where 1=1 and 1=1 and name=#name#
  • jiuyouma :采用你的方法试过,直接setParas 因为还有beetl的 判断的非空语句,没有找到该属性(2018年07月09日)
  • jiuyouma :感觉像是哪里加载的问题,今天在做insert的时候也出现了这样的问题 (2018年07月09日)
jiuyouma 2018年07月09日

非常感谢,最终是因为 beetl版本不对,导致的 之前版本 2.7  修改为2.8就好了。