2019-06-11 20:03
@happyboy 那你将你自己项目中的东东 copy 到 jfinal 官网下载的 demo 中去,然后看能不能重现问题,如果不出问题了,证明是你项目的配置有问题
2019-06-11 18:06
@久伴轻尘 关于 Db + Record 的用法,我见过一个最让我映象深刻的用法
有个同学使用 Db + Record 做了一个通用的查询系统,通用到何等程度:
1:头部是一系列的下拉,可以选择表名、字段名、查询条件
2:头部还提供了输入框,针对于 sql 的 where 子句,可以输入查询条件
3:查询条件可以手动输,也可以通过下拉的方式选择字段、大于小于等于这些条件,连输入条件也可以省去
4:可以将某个搜索使用的条件保存下来,并为这个查询起个名次,下次查询的时候不必重复选择和输入查询数据
例如,他发现某个查询经常要去做,那么保存为 “今日订单”、“本周销售总额”,那么下次要查询的时候选择一下这个查询就可以省去手动输的麻烦
5:这位同学希望查询出来的结果是按 select 后的次序来显示的,所以配置了这个:
arp.setContainerFactory(new OrderedFieldContainerFactory());
有了这个查询系统,任何人都可以无比灵活地去查询整个库中的数据。 这个公司有了这个通用的查询系统,再也不必单独开发这样一个项目了,节省了很多成本
2019-06-11 17:40
@久伴轻尘 你这个也是动态生成的,那么字符 `` 就是必须的了
真正懂 jfinal 的人,jfinal 拿在手里就是效率利器
2019-06-11 17:16
@久伴轻尘 如果不是 mysql 的关键字/保留字,sql 中不建议使用 `` 字符, 太麻烦了
jfinal 生成的 sql 中带有这些字符,是因为 sql 是动态生成的,可能会出现 `` 字符,所以才这样做
2019-06-11 16:59
@jiangkeju 如果是 JDK 1.7 或以上版本,可以采用 try with resources 语法,更省代码:
try (Connection conn = xxx.getConnection()) {
....
}
2019-06-11 16:58
@jiangkeju 必须要卡在这里,自行获取的 Connection 对象,需要在 finally 块中关闭,否则资源泄露
Connection conn = null;
try {
conn = xxx.getConnection();
....
} finally {
if (conn != null) {conn.close();}
}
2019-06-11 15:52
@南香权 异常栈中没有出现过 "com.jfinal." 这个包名,问题肯定是与 jfinal 无关的
从异常表面上来看,是你的 web.xml 中配置了一个 Listener,而这个东东对 Spring 有依赖:
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
此外,如果你的项目确实没有问题,注意一下 tomcat 下的 webapps 目录下面是否部署了别的项目。知道项目只要扔到 tomcat 的 webapps 下面就会被加载