2019-05-19 16:54

@JFinal
感谢回复,也就是说,Mode要想实现通过use切换不同的数据源,只能自己New一个Model实例然后调用use方法才可以是吧。不能通过在Model里用static创建一个dao对象来实现是吧。我看Model源码里,dao方法里这么写
public M dao() {
attrs = DaoContainerFactory.daoMap;
modifyFlag = DaoContainerFactory.daoSet;
return (M)this;
}
而use方法里又这么写:
public M use(String configName) {
if (attrs == DaoContainerFactory.daoMap) {
throw new RuntimeException("dao 只允许调用查询方法");
}

this.configName = configName;
return (M)this;
}
另外,如果Model那个静态dao对象不调用dao方法,只是用来查询,是不是会在并发量大的时候,导致甲查询的数据被返回给了乙呢?或则可能存在最大风险是什么?
只能这么回避吗?Db为什么可以通过use就可以线程安全了呢?波总有没有打算这里改进一下?

2019-05-06 14:13

找到了这个方法Table t = TableMapping.me().getTable(PtXzqh.class);可以变通一下,不过依然有个疑问,如果涉及到多数据库,两个数据库里出现了相同的表名,Model名就会一样,这样怎么区分不同的库里的表呢?

2019-05-06 14:03

不管是undertow还是jetty在mac下使用80端口都是不允许的。使用大于1024以上的端口就可以了。