虽然现在直接写SQL语句粗暴明了,但容易出错. 如有面向对象查询功能那就更好了. 出错概率会大大降低. 也方便可读性.
参考: http://www.jooq.org/ java版 例如: List<Record> list = Db.select().from("users").orderBy(field("id").desc()).fetch();
参考: https://medoo.in php版 例如: $database->select("account", "*", [id" => 100]);
上面这种写法不如纯 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 是很重要的基本功,是一定要过这一关的,通行各种数据库