4
回答
jfinal controller单例? sql拼接
终于搞明白,存储TCO原来是这样算的>>>   

1.controller是单例模式吗?

2.拼接sql语句是个麻烦事

能否定义一个类,继承controller,定义一序列方法,如addWhere,addOn,addOrderby,addGroupBy来动态生成sql语句

问题是:同一个controller的两个action是否数据共享冲突问题?

举报
郑举进
发帖于4年前 4回/623阅
共有4个答案 最后回答: 4年前

1:Controller 在每次请求时会被重新创建,是线程安全的,多个action共享的数据,只要不是static 的都没有问题

2:对比一下如下的两种写法,可知原生sql要省代码,并且书写起来更容易,并且有框架设计都可以避免由此引发的很多问题,从而避免解决问题

"select * from user where user_id = 123 order by id";
Sqls.select("*").from("user").where("user_id = 123").orderBy("id");

楼主可以思考一下传统ORM框架为什么采用方法来组装sql?

首先controller不是单例的,是线程安全的。其次,你说的where().order()方式,作者不提倡,觉得写sql语句更灵活些,试想一句sql语句的事要好几层的链式调用才能实现,哪个简单?也就没有这样去做,你可以继承controller的
顶部