2019-05-02 19:49
@Sohnny 放长假才好写大功能,上大创新,时间片比较长,可以深度思考
2019-05-02 19:47
@hb963724769 这种注入方式主要是为了省代码,以及可以通过配置来改变被注入的实现类
如果 service 很多,可以将配置放在外部配置文件中,然后用一个 for 循环去加载,类似于:
for ( String c : mappings) {
String[] array = c.splite("|");
AopManager.me().addMapping(Class.forName(array[0]), Class.forName(array[1]));
}
如果觉得配置文件还是麻烦,可以写一个扫描工具类,扫描所有实现类再动态 mapping,办法总比问题多
2019-05-01 11:15
Db.select().from("users").orderBy(field("id").desc()).fetch()
上面这种写法不如纯 sql 简洁:
Db.find("select * from users order by id desc");
从代码量上来说纯 sql 是最省的,而且 sql 还可以交给外部文件进行管理与优化:
https://www.jfinal.com/doc/5-13
此外,复杂 sql 是极端灵活的,可以一直嵌套下去,而 java 代码模式写不出需求复杂的查询来
然后, java 代码模式属于新创的东西,会增加学习成本,即便学会了使用 java 代码模式,仍然还要学会 sql,等于是多了一部分学习成本
最后,纯 sql 效率是最高的,也不会出现 java 模式带来的生成 sql 时的可能错误
仔细深想一下,java 代码模式除了能在写代码的时候带来一点点心理上的安全感以外,并没有带来实质的好处
sql 是很重要的基本功,是一定要过这一关的,通行各种数据库
2019-04-30 18:19
@杜福忠 这种用法,适合十分灵活的应用,eova 这个项目极其动态化,全程 Db + Record,连 Model 都没使用
感谢分享