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
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; |
|
} |
|
}
|
|
|