/** * model * * @param me */ @Override public void configPlugin(Plugins me) { componentSscan(basePackage); IDataSourceProvider iDataSourceProvider = setDataSource(); try { me.add((IPlugin) iDataSourceProvider); } catch (Exception e) { throw new RuntimeException("is not IPlugin type"); } ActiveRecordPlugin arp = new ActiveRecordPlugin(iDataSourceProvider); addActiveRecord(arp); // 加入附加的活动记录 Scan driven = new Scan(); for (String pake : basePackage) { Set<Class<?>> clazzs = driven.getClasses(pake); for (Class<?> clazz : clazzs) { LOG.info(clazz.getName()); Class superClass = clazz.getSuperclass(); Class<?> jfClz = com.jfinal.plugin.activerecord.Model.class; if (superClass == jfClz || superClass.getSuperclass() == jfClz) { M model = clazz.getAnnotation(M.class); if (null != model) { arp.addMapping(model.value(), model.id(), (Class<? extends Model<?>>) clazz); } } } } me.add(arp); }
/** 配置插件 */ public void configPlugin(Plugins me) { // [ copy from @ mike 的适配器 :) ] String dbname, username, password, host, port, driver; driver = getProperty("driverClass"); if (isLocal) { dbname = getProperty("dbname"); username = getProperty("username"); port = getProperty("port"); host = getProperty("host"); password = getProperty("password"); } else { JSONObject credentials = JSONObject.parseObject(json) .getJSONArray("mysql-5.1") .getJSONObject(0) .getJSONObject("credentials"); host = credentials.getString("host"); port = credentials.getString("port"); dbname = credentials.getString("name"); username = credentials.getString("username"); password = credentials.getString("password"); } DruidPlugin druidPlugin = new DruidPlugin( "jdbc:mysql://" + host + ":" + port + "/" + dbname, username, password, driver); druidPlugin.setInitialSize(3).setMaxActive(10); me.add(druidPlugin); // 配置ActiveRecord插件 ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin); if (isLocal) { arp.setShowSql(true); } arp.addMapping("module", Module.class) .addMapping("topic", Topic.class) .addMapping("post", Post.class); arp.addMapping("reply", Reply.class).addMapping("sub_module", SubModule.class); me.add(arp); // 缓存插件 me.add(new EhCachePlugin()); }
@Override public void configPlugin(Plugins me) { log.info("C3p0初始化,链接数据库"); C3p0Plugin cp = new C3p0Plugin("jdbc:mysql://localhost:3306/BFMS", "root", "123456"); me.add(cp); ActiveRecordPlugin arp = new ActiveRecordPlugin(cp); me.add(arp); log.info("配置Model和数据库表映射"); arp.addMapping("City", City.class); arp.addMapping("CityRecord", CityRecord.class); arp.addMapping("CityRfc", CityRfc.class); arp.addMapping("County", County.class); arp.addMapping("CountyRecord", CountyRecord.class); arp.addMapping("Project", Project.class); arp.addMapping("ProvinceRecord", ProvinceRecord.class); arp.addMapping("ProvinceRfc", ProvinceRfc.class); arp.addMapping("Subject", Subject.class); arp.addMapping("User", User.class); log.info("配置RecordLog数据库表映射"); arp.addMapping("ProvinceRecordLog", ProvinceRecordLog.class); arp.addMapping("CityRecordLog", CityRecordLog.class); arp.addMapping("CountyRecordLog", CountyRecordLog.class); }