tk.Mybatis的使用,由于之前都是使用的mybatis 或者mybatis-plus搞的与数据库交互,这次项目中使用的tk.Mybatis之前也没有见过,目前做完了就简单说一下tk.Mybatis , 首先说一下tk.Mybatis的实现。
Example 对象:通过新建的一个 Example 对象里面的需要传入一个实体类,然后Example 通过你传入的实体类对象创建出 Example。我们从里面的源代码中发现,他是把我们传入的实体当成一个Map,直接封装成Example 对象。
这时候使用
Example 中的 createCriteria 方法,该方法是为了创建,tk.Mybatis后续的条件问题,需要增加的条件就只需要在加入条件即可两种写法
第一种
Example.Criteria criteria = example.createCriteria().andEqualTo("blackListName", vo.getBlackListName()).andEqualTo("blackListNumber", vo.getBlackListNumber());
第二种
Example.Criteria criteria = example.createCriteria();
if (!StringUtils.isEmpty(vo.getBlackListName())) {
criteria.andEqualTo("blackListName", vo.getBlackListName());
}
if (!StringUtils.isEmpty(vo.getBlackListNumber())) {
criteria.andEqualTo("blackListNumber", vo.getBlackListNumber());
}
两种无区别,个人推荐在数据确定下使用第一种,在数据不确定的情况下使用第二种。
当条件定义完成之后,只需要调用 tk.Mybatis 的自带查询方法。
接下来说说优点:tk.Mybatis 的 Example 确实强大,可以实例化对象,不需要写单表sql,需求啥条件通过 createCriteria 方法加所需要的参数。
接下来说说缺点:正所谓成也萧何,败也萧何,tk.Mybatis 的createCriteria 确实强大,但是涉及到createCriteria方法,只写当前的某几个查询条件,查询数据时,这没那么灵活,当然还有都跑不掉的联表查询。
但是对比Mybatis 来说的话,也确实加快了我们的开发速度。我个人的话,是比较喜欢使用 mybatis-plus的。