先创建一个Page对象,分别定义当前页和每页数量,调用userMapper的selectPage方法,传入定义好的page对象,获取分页查询结果。返回的是Ipage对象,给到user泛型。可以分别通过getPage和getTotal获取到总页数和总记录数。测试代码及测试结果如下。如果没有添加分页插件,selectPage方法也可以代用。但是会把数据数据全部返回。...
自定义 Mapper 接口继承 BaseMapper 指定实体类作为泛型参数 2. CRUD 方法实现 提供标准的 CRUD 操作方法 包括插入、查询、更新、删除等操作 3. 无需编写 SQL MyBatis-Plus 自动处理基本操作的 SQL 语句 4. 主键回填 插入操作时自动获取数据库生成的主键值并回填到实体对象中 5. 简化配置 减少XML 映射文件的使用...
myDefineSql ="delete from "+tableInfo.getTableName();//构造一条delete from user,待注入的sql预编译语句 methodName:方法名,也就是用来映射方法名和执行的sql 通过继承AbstractMethod重写方法讲预编译sql和方法名进行绑定,返回MappedStatement对象 import com.baomidou.mybatisplus.core.injector.AbstractMethod; impor...
从上述代码中可以看到,我们从数据库查询出来的结果是转换为一个想XXXPo的对象,而接口返回的是XXXVo对象。在实际项目中,一般一个project都会分很多层,每层都会定义自己的对象,如:PO、VO、DAO、BO、DTO、POJO等等。DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。DTO(Data T...
四、自定义查询 五、总结 MyBatis是一个应用非常广泛的ORM框架,它简化了使用者操作数据库的复杂程度,将一些模板代码进一步抽象,并且自动将数据库查询结果映射到Java 对象上。 MyBatisPlus是一个MyBatis的增强工具,提出"为简化开发而生"的口号。 并且MyBatisPlus只是在MyBatis基础上进行增强,而不是改变,通过继承MyBat...
方法,完成自定义全局操作 a模仿 injectDeleteSql */ @Override public void inject(Configuration configuration, MapperBuilderAssistant builderAssistant, Class<?> mapperClass, Class<?> modelClass, TableInfo table) { //将EmployeeMapper中定义的deleteAll, 处理成对应的MappedStatement对象,加入到configuration对象中...
简单的说,mybatis插件就是对ParameterHandler、ResultSetHandler、StatementHandler、Executor这四个接口上的方法进行拦截,利用JDK动态代理机制,为这些接口的实现类创建代理对象,在执行方法时,先去执行代理对象的方法,从而执行自己编写的拦截逻辑,所以真正要用好mybatis插件,主要还是要熟悉这四个接口的方法以及这些方法上的参数...
通用Service CRUD 封装IService接口,进一步封装 CRUD 采用 get 查询单行 remove 删 除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆, 泛型 T 为任意实体对象 如果存在自定义通用 Service 方法的可能,可以创建自己的 IBaseService 继承 Mybatis-Plus 提供的基类 官网地址: 代码语言:javascript 复制...
自定义返回配置 Map 对象 该对象可以传递到模板引擎通过 cfg.xxx 引用 fileOutConfigList 自定义输出文件 配置FileOutConfig 指定模板文件、输出文件达到自定义文件生成目的 fileCreate 自定义判断是否创建文件 实现IFileCreate 接口 该配置用于判断某个类是否需要覆盖创建,当然你可以自己实现差异算法 merge 文件 ...