数据库访问
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

50 lines
1.6 KiB

package com.fr.plugin;
import com.fr.decision.plugin.db.AbstractDecisionDBAccessProvider;
import com.fr.plugin.dao.MyDao;
import com.fr.plugin.entity.MyEntity;
import com.fr.plugin.transform.ExecuteFunctionRecord;
import com.fr.plugin.transform.FunctionRecorder;
import com.fr.stable.db.accessor.DBAccessor;
import com.fr.stable.db.dao.BaseDAO;
import com.fr.stable.db.dao.DAOProvider;
//第一步类 继承AbstractDecisionDBAccessProvider
@FunctionRecorder
public class MyDecisionDBAccessProvider extends AbstractDecisionDBAccessProvider {
//第二步 注册数据库访问类
@Override
@ExecuteFunctionRecord
public DAOProvider[] registerDAO() {
return new DAOProvider[]{
//注意这里是匿名类
new DAOProvider() {
@Override
public Class getEntityClass() {
return MyEntity.class;
}
@Override
public Class<? extends BaseDAO> getDAOClass() {
return MyDao.class;
}
}
};
}
//第三步新建一个DBAccessor 静态变量
private static DBAccessor dbAccessor = null;
//第四步写一个公开的静态方法去获取DBAccessor
public static DBAccessor getDbAccessor() {
return dbAccessor;
}
//第五步 重写数据库访问器注入函数(当数据库访问器准备好之后由fr注入到这里)
@Override
public void onDBAvailable(DBAccessor dbAccessor) {
MyDecisionDBAccessProvider.dbAccessor = dbAccessor;
}
}