2017-03-03 13:56

@JFinal 第一个问题,你说的改一下页面属性值,意思还是把页面的属性设置成跟数据库的字段一致?这种做法是简单,但我的问题就是如果页面属性设置跟数据库字段不一致的时候,要怎么办?你给出的方案在controller 中通过getPara("student.name") 来获取,再 student.setStudentName(...) 给设置进去,如果这样子做的话,首先没办法使用getModel(Student.class)方法来获取对象,只能通过getPara()对每个属性读取一遍?读完之后再set一遍?感觉这样每次使用起来会很麻烦,请问有没有更好的解决办法呢?。
第二个问题: 我知道可以通过重写isSkipTable,但是这个方法的也只是可以对tableName来做一些过滤,没办法判断出是视图,还是table啊,如果视图的命名并不规律的话,这种过滤会很麻烦吧。同样generator.addExcludedTable(...) 也是对tableName的过滤,好像达不要我想要的目的。一次性直接过滤掉所有的视图。

2017-02-24 18:10

@JFinal 很抱歉,我找到问题了,是我自己切换回kfDb时,拼写错误了,非常感谢您的指导。

2017-02-24 18:06

@JFinal 在save方法里面这一行的时候报错的。
config.dialect.forModelSave(table, attrs, sql, paras);

2017-02-24 18:04

@JFinal 报的空指针,
java.lang.NullPointerException
at com.jfinal.plugin.activerecord.Model.save(Model.java:404)
at erp.controller.StudentController.testChangeDb(StudentController.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.jfinal.aop.Invocation.invoke(Invocation.java:73)
at erp.interceptor.StudentInterceptor.intercept(StudentInterceptor.java:11)
at com.jfinal.aop.Invocation.invoke(Invocation.java:67)
at com.jfinal.core.ActionHandler.handle(ActionHandler.java:74)
at com.jfinal.ext.handler.ContextPathHandler.handle(ContextPathHandler.java:48)
at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Unknown Source)