最近公司的项目有用到这个新东西,就学了一下,和大家分享分析。
(简称MP)是一个 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。(官方这么说),其实白了说就是比Mybatis多了许多工具,让我们更快捷方便的开发,
首先给我很大的启示就是进一步的替换我们的xml文件,基本上单表操作完全可以用MP的语法替代,一些简单的多表也可以,接下来是我们很关注的代码环节。
// 分页查询 10 条姓名为‘张三’的用户记录
List<User> userList = userMapper.selectPage(
new Page<User>(1, 10),
new EntityWrapper<User>().eq("name", "张三") );
首先看上面代码,selectPage分页查询,new page分的页码数,EntityWrapper,很重要的一个类,主要实现我们的查询条件等,我们看下源码:
@Override public Wrapperor(String sqlOr, Object... params) { if (StringUtils.isEmpty(sql.toString())) { AND_OR = "OR"; } super.or(sqlOr, params); return this; } 这是一个OR方法,对应我们的查询语句or
public Wrappereq(String column, Object params) { sql.WHERE(formatSql(String.format("%s = {0}", column), params)); return this; }
eq方法等于我们的 k=v方法,
public Wrappergt(String column, Object params) { sql.WHERE(formatSql(String.format("%s > {0}", column), params)); return this; } 等同我们的sql > 方法, Wrapper 方法,很多,我们就不一一列举了,基本满足我们的sql查询,不知道的强烈建议去看Wrapper类源码,文档上说的不是很多,作者不多写没办法。