/**
* 重写父类方法
* 获取特定月份的Dao实例
* 修改为:以YlogBean建表
*
* @param key
* @return
*/
@Override
public Dao dao(String key) {
Dao dao = ymDaos.get(key);
if (dao == null) {
synchronized (this) {
dao = ymDaos.get(key);
if (dao == null) {
dao = Daos.ext(this.dao, key);
dao.create(YlogBean.class, false);
ymDaos.put(key, dao);
}
}
}
return dao;
}
slog查询的时候,创建动态表名的地方拿到的总是当前月份的表名。
例如:以上代码,当 dao = Daos.ext(this.dao, key);这句代码中的this.dao中tablename为201807(insert时设的值),key为201806,方法返回的dao去执行query操作时,实际tablename还是201807.