AutoTableBindPlugin 自动表映射问题
AutoTableBindPlugin atbp = new AutoTableBindPlugin(druidPlugin,SimpleNameStyles.LOWER);
me.add(atbp);
----我已经加了这个。。但还是报错:
[ERROR]-[Thread: qtp111632506-19]-[com.jfinal.core.ActionHandler.handle()]: /admin/producttype/add
java.lang.RuntimeException: The TableMapping of model: com.ztshop.model.ProductType not exists. Please add mapping to ActiveRecordPlugin(activeRecordPlugin.addMapping(tableName, YourModel.class)).
at com.jfinal.plugin.activerecord.TableInfoMapping.getTableInfo(TableInfoMapping.java:42)
arp.addMapping("producttype", ProductType.class);
----加上这个就可以
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我debug了一下。。发现
AutoTableBindPlugin 中写的
private static final Map<Class<? extends Model<?>>, TableInfo> tableInfoMap = new HashMap<Class<? extends Model<?>>, TableInfo>();
跟我获取数据的时候。。读的不是同一个地方的
DruidPlugin druidPlugin = new DruidPlugin("jdbc:mysql://127.0.0.1/ztshop", "root", "root");
druidPlugin.setInitialSize(3).setMaxActive(10);
me.add(druidPlugin);
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
arp.setShowSql(true);
me.add(arp);
AutoTableBindPlugin atbp = new AutoTableBindPlugin(druidPlugin,SimpleNameStyles.LOWER);
atbp.setContainerFactory(new CaseInsensitiveContainerFactory());
atbp.setShowSql(true);
me.add(atbp);
/*arp.addMapping("producttype", ProductType.class);
arp.addMapping("producttypeattr", ProductTypeAttr.class);*/
// 缓存插件
me.add(new EhCachePlugin());
------我这样写有问题吗?
@jfinal
@TableBind(tableName="producttype")
public class ProductType extends Model<ProductType> {
}
我有绑定的
我github里面应该有强调这个事情。。。因为atbp是继承了arp....囧