2018-07-10 20:15
@mawenyu 如果 findFirst 不是在 id 这类有索引的字段上进行的,记得 sql 最后添加一个 limit 1
2018-07-10 20:03
@静态代码块 我自己碰到这个错误,先是用 ecilpse 打开 pom.xml 进入 Dependency Hierarchy 视图,看看有没有同一个 jar 包被多个地方依赖,这样打出来的 jar 包会包含同一个 jar 包的多个版本。这种情可以通过配置 exclusion 来排除掉低版本的,只保留一个
如果不是上面的原因引起的,第二步是删掉本地 maven 库中报错的那个 jar 包所在的目录,让 maven 重新下载一次
解决这个问题很机械化,并没有什么秘密
2018-07-09 17:47
@zhaofan 将 jfinal 中的那个 HashKit 工具拿过来用就可以了,里面有些工具类,所以去除了 jfinal weixin 中重复的工具
2018-07-09 17:45
调用了 dao() 方法以后,就自然变成线程安全的了,不用担心
如果没调用 dao() 方法,并且前面是 static,那么这个对象是所有线程都可以并发使用的,自然会有线程安全问题,因为内部并没有使用 synchronized 这类锁机制
如果使用的时候每次 new 出来,功能上确实是完全一样的,就是为了省点时空,仅此而已
Model 中的 dao 是不提倡这么用的,而是在 Service 中使用一个 private Xxx dao = new Xxx().dao() , 这样可以避免在业务层之外操作数据库
在首页下载一下 jfinal demo,参考里面的用法,一定要有业务层,一定不要在 model 中 new Xxx().dao() 出来,养成良好的开发习惯