
文章插图
最后执行即可生成实体类、Mapper接口、Service、Controller和Mapper映射文件:

文章插图

文章插图
需要注意的是Service的实现类:
@Servicepublic class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, Employee> implements EmployeeService {}
文章插图
它继承自ServiceImpl:
public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> { protected Log log = LogFactory.getLog(getClass()); @Autowired protected M baseMapper; ......}
文章插图
该类提供了一些简单的服务方法,所以我们无需编写任何代码就可以使用一些简单的增删改查服务代码,而且它自动注入了M泛型的baseMapper,所以我们也能够直接在EmployeeServiceImpl中使用该Mapper 。
插件MyBatisPlus提供了一些非常好用的框架来简化我们的开发,一起来看看吧 。
分页插件在前面的分页方法中我们已经使用到了分页插件,这里再简单介绍一下吧 。
要想使用分页插件,首先就需要将该插件注册到容器中:
@Configurationpublic class MyBatisConfig { @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); }}
文章插图
然后就可以使用了:
@Testvoid contextLoads() { Page<Employee> page = employeeMapper.selectPage(new Page<>(1, 2), null); List<Employee> emps = page.getRecords(); for (Employee emp : emps) { System.out.println(emp); }}
文章插图
Page对象中封装了非常多的信息,比如:
@Testvoid contextLoads() { Page<Employee> page = employeeMapper.selectPage(new Page<>(1, 2), null); // 获取分页数据 List<Employee> emps = page.getRecords(); System.out.println("获取总条数:" + page.getTotal()); System.out.println("获取当前页码:" + page.getCurrent()); System.out.println("获取总页码:" + page.getPages()); System.out.println("获取每页显示的数据条数:" + page.getSize()); System.out.println("是否有上一页:" + page.hasPrevious()); System.out.println("是否有下一页:" + page.hasNext());}
文章插图
执行结果:
获取总条数:4获取当前页码:1获取总页码:2获取每页显示的数据条数:2是否有上一页:false是否有下一页:true
文章插图
执行分析插件该插件的作用是分析update和delete操作,防止小白误操作或恶意的攻击,需要注意的是该插件仅支持MySQL5.6.3以上版本 。
使用也非常简单,首先将插件注册到容器中:
@Beanpublic BlockAttackInnerInterceptor blockAttackInnerInterceptor(){ return new BlockAttackInnerInterceptor();}
文章插图
此时我们执行全表删除操作:
@Testvoid contextLoads() { employeeMapper.delete(null);}
推荐阅读
- 金丝玫瑰茶烟,茶烟怎么样好吸么
- 红菊花茶,菊花茶的作用有哪些
- Java并发工具类的简单使用
- vscode 前端常用插件推荐
- 一些不好记却很好用的 CSS 属性
- Redis在用户注册登录的妙用
- 诸葛亮用了多少艘船,草船借箭是周瑜还是诸葛亮
- 通用的底层埋点都是怎么做的?
- 免费供苗种植回收,投资成本(不含土地承包费用
- 坝上金莲花颗粒副作用,金莲花的副作用
