2020-11-30 12:13

@JJfinal _MappingKit.mapping(arp); 和 com.kaochang.config.model._MappingKit.mapping(arpKC); 里面检查检查看看里面是不是 model 注册错了 ? 如果注册正常,是不用加use的, 你可以读一下model的源码,就是因为乱加use导致this.configName值被更改,所以下次查询会去到configName库。

检查_MappingKit里面,是不是有同名的java类名,虽然不同包名,但是代码里面会很容易引用错误。开发者以为用的是A数据源的Model ,实际上代码导入的是B数据源的Model,遇到这样的情况业务,建议最安全的办法就是直接对B数据源的 Model类进行重命名,增加统一前缀,避免下次再有人导入包时倒错了。并且统一代码里面Model不要使用use方法。

2020-11-30 09:38

@JJfinal 本地开发好使吗?能不能重现问题?

2020-11-28 21:44

@liugz https://gitee.com/yun_final/JFinal-API

2020-11-28 21:19

@liugz 做前后分离项目的时候,我个人感觉,那种数据库查询然后返回json的这种项目,直接就用Db + Record 不要Model 爽的一批。 前端需要什么字段,就在SQL里面 SELECT 写明即可,像上面SQL的话,直接把大小写写明就可以了 c.dict_data_name sexName 这样前端直接就拿到了,还方便

2020-11-28 21:13

看配置好像是没毛病,
“服务器启动几个小时以后才会出现” 是什么情况? 本地开发好使,不能重现问题?
得把错误信息帖出来, 看看是哪里的代码,咋写的SQL看下。
可以建一个控制器,单独请求模拟查询看下是不是能重现

2020-11-28 15:59

如果确定是老代码没有改动,以前好使的情况下。
应该是 主数据源 ActiveRecordPlugin 放在了次数据源 ActiveRecordPlugin的后面启动导致的

https://jfinal.com/doc/5-14
注意最先创建的 ActiveRecrodPlugin实例将会成为主数据源,可以省略configName。最先创建的 ActiveRecrodPlugin实例中的配置将默认成为主配置,此外还可以通过设置configName为 DbKit.MAIN_CONFIG_NAME常量来设置主配置。

2020-11-28 15:51

删掉成员变量sexName。
改为:getSexName() {return getStr("sex_name");}

2020-11-28 10:26

@chcode 我是搜索了什么是Liquibase ,才知道是干这个的。我之前自己有撸了一个json格式对比结构的,但是还是有些BUG,感觉不如这个成熟,我准备试用试用Liquibase https://www.oschina.net/p/liquibase?hmsr=aladdin1e1

2020-11-27 17:27

昂!又涨姿势了!还有Liquibase这个东西。。。

2020-11-27 14:56

@当下星辰 那就是配置错了,看波总的博客:https://my.oschina.net/jfinal/blog/353062
本地开发的话,是一样的,都是有配置文件的

2020-11-27 14:47

@当下星辰 不是Tomcat部署,是什么容器运行的?

2020-11-27 14:45

Service并发?Service不要有全局业务成员变量就没有并发问题。如果一定要有成员变量参与代码执行的话,那就不要叫Service,改名为XXHandle或者其他的,每次使用时用new 一个新对象进行执行就可以。

可以再描述一下你的业务是要做什么,这样我们才好给更符合业务的建议

2020-11-27 14:28

是MySQL吗?JF没有做这个转换操作。 可以在源码中看到,只是:
Object value; value = rs.getObject(i); columns.put(labelNames[i], value);
没有null和“”的处理的。

可以先在Navicat等工具中执行 SQL ,看一下SQL的执行结果是什么样子。
或者在首页的demo下载运行跑个例子看看。

2020-11-27 14:12

不是Tomcat部署,是什么容器运行的?
https://my.oschina.net/jfinal/blog/353062

可能还是有加载项目两次导致的,
检查一下是不是每个任务器都是同时执行两次, 如果只有它一个,那就检查是不是有地方重复调用了。

如果实在找不到原因,可以先建立一个静态布尔变量,任务进入之后就标记true,任务结束再改为false,为true时就直接结束任务,临时顶一下

2020-11-27 14:03

生成器与 JavaBean
https://jfinal.com/doc/5-4

JBolt 插件下开发 各种生成
https://jfinal.com/doc/1-10

或者自己定制撸一个也非常方便
https://jfinal.com/doc/6-11