波总,小弟有一个疑问,在Model中创建一个共享对象来操作数据库,会不会有并发的问题呢,小弟才疏学浅,望波总有时间指导一下。
public class Blog extends BaseBlog<Blog> { public static final Blog me = new Blog(); /** * 所有 sql 与业务逻辑写在 Model 或 Service 中,不要写在 Controller 中,养成好习惯,有利于大型项目的开发与维护 */ public Page<Blog> paginate(int pageNumber, int pageSize) { return paginate(pageNumber, pageSize, "select *", "from blog order by id asc"); } }
因为me这个实例是共享的,所以在调用paginate()的时候,会不会产生并发呢
项目:JFinal
严格来说,这个 me 对象不应该存在,只是为了避免在查询时避免 new 一个对象,节省点时空。
现在 jfinal 的最佳实践已经不建议在 Model 中创建这个 me 对象了,而是在 Service 层持有一个 model 的对象用来查询,而 service 层持有的时候一般不会有人误用其 set(...)、 update()、delete() 方法了