2017-03-24 21:13
@jerry1216 如果这种重用特别多,抽取一个 BaseController 是值得的,例如 jfinal club 就抽取了 BaseController 专门处理当前登录用户,极其方便,jfinal club 项目的BaseController 中有这些方法:
User getLoginUser()
boolean isLogin()
int getLoginUserId()
这些方法在控制器中直接获取,然后再转头去调用业务层的相关方法极为便利
2017-03-24 17:54
@zhaozhihong configName 为 main 的是默认数据源,如果你只有一个数据源,那么这第一个也会默认成为主数据源
不要使用 model.dao.use(...),而是要直接 model.use(...) , 这样就没问题了,最终是: model.use(...).find(sql)
通常要封装得更好,可以利用一个全局拦截器,在拦截器中使用一个 ThreadLocal 去存放当前请求该有的 configName,然后在查询的时候,统一使用:
Db.use(Kit.getConfigName()).find(sql, ...) 或者
model.use(kit.getConfigName()).find(sql, ...)