1. 获取当前登录人
获取当前登录人是项目开发中经常用到的方法,在平台中只需要写一行代码 ShiroUse shiroUser = ShiroKit.getUser(); 此方法可从 session 中获取用户对象(ShiroUser), 其中包含着当前登录人的:用户信息、角色信息、部门信息。
.2. 常用工具类
ToolUtil 该工具类包含基本类型转换、非空判断、空值判断、是否包含判断 等基础方法,其中非空判断最为实用,因为它不仅可以对字符串进行判断。 DateUtil 该工具为日期工具类,包含常用的获取当前日期,Date 和 String 类型转换,几乎可以满足项目中对于日期的操作。 OrganUtil 该工具类为组织机构工具类。包含获取所有的组织机构信息、获 取部门下的人员信息、根据部门 id 获取下级部门信息等与组织机构相关的基本 方法。
3. 单表的增删改查
在生成的后台代码中,可以在 controller 中看到,对前台参数封装好的实体 对象,直接使用相应的 service 便可实现增删改查,而查看 service 代码并没有写 这些方法。这是因为我们的 service 和 mapper 都继承了 MybatisPlus 的接口,自 动封装了对单表操作的常用方法,这里只提到了常用的几个,其他的方法开发人 员可在开发过程中研究使用。基本上了对于单表,实现了不写 SQL 便可操作数 据库。更为复杂的逻辑还是需要开发人员实现自己的方法。
4. 批量新增和批量修改
在项目开发中,经常会遇到批量新增和修改数据的需求,在使用过上述记录 的对单条记录的增删改查之后,很容易会想到使用 for 循环来实现批量新增和修 轻骑兵 V8 平台开发手册 - 27 - 改,而这样做其实是有很大的问题的。因为获取数据库连接本身就是一个性能瓶 颈,如果使用 for 循环来执行批量操作,无疑会将这个瓶颈放大。MyBatisPlus 也提供了批量新增和修改的方法,只需要获取一次连接,便可实现批量操作。具 体用法如下:
从上面两个使用示例可以看出,批量操作的参数都是 list 和 list.size()。新增 和修改的一点区别是,新增时,放入 list 的实体类不用设置主键内容,因为默认 使用 UUID(如果修改了主键生成策略为 INPUT,则需要手动设置);而修改时 则是根据主键修改的,所以只需要设置要修改字段的内容即可,其他字段会默认 保持不变。
5. 多数据源的使用及配置
由于在项目的实际应用中,很多时候单数据源不足以支撑业务的需求,因此 平台对多数据源的使用提供了支持。除主数据源之外,还可额外使用 4 个子数据 源。多数据源的使用需要修改两处配置,二者缺一不可。具体设置内容如下:
·在配置文件中对多个数据源进行配置。
打开启用多数据源的开关。
、在 service 层方法上添加注解,指定具体的数据源。 @DataSource(name = DatasourceEnum.DATA_SOURCE_one) 注解引用类见下图: