BaseService支持使用sql(String sql)方法直接传入sql字符串,然后执行sql语句。
```
public void t12() {
BaseService service = Application.getService();
service.sql("SQL语句");
List<HashMap<String, Object>> result = service.getResult();
Vardump.print(result);
}
```
>[info] 复杂的查询如多表联查, union合并,可以使用BaseService的sql方法,当然也可以使用mybaits自带的xml注入mapper来实现。
>
xml方法有个优点就是便于sql的统一管理,但是哥哥用经验告诉你,统一管理的想法实在是too young too simple sometimes native。mybatis可能为了提升访问速度,所有的mapper都是扫描到内存里面,而不是用的时候去读,导致的结果就是,我以前接手过一个大项目,光扫描mapper就要好几分钟,在本地上调试项目,内存瞬间爆到90%,然而,许多dao层里面的接口已经被删除了,IDE不能自动识别,导致xml里面的sql还留着,冗余废弃的sql语句一大堆,没人敢删,于是越累越多。
所以我个人不建议大型项目使用过多mapper,会非常吃内存。
- 系统入门
- 系统简介
- 目录结构
- 系统配置
- 应用
- 应用
- 控制器
- 模板
- 自定义标签
- 用户信息
- 调试
- 调试模式
- 使用Vardump打印
- 访问数据库
- 数据库配置
- Dao模式
- BaseService模式
- 获取对象
- 插入
- 修改
- 删除
- 查询
- where方法
- column方法
- join方法
- 其他查询方法
- 操作集合
- sql方法
- 查询回调接口
- 使用别名
- 后台验证
- 同步表结构
- 使用事务
- 数据分页
- 通用视图模板
- CommonPageView
- CommonPageLayer
- CommonTreeView
- CommonEditView
- CommonEditLayer
- 日志管理
- 后台菜单
- 权限管理
- CMS
- CMS核心
- CMS仿站工具
- CMS采集工具
- websocket
- UI自动生成器
- 缓存
- 自定义缓存
- 生成静态页面
- 表单
- 上传文件
- 前端验证