【仅供内部供应商使用,不提供对外解答和培训】
...
| Code Block | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
package com.fr.stable.db.action;
import com.fr.stable.db.dao.DAOContext;
/**
* Created by loy on 2018/8/21.
*/
public interface DBAction<T> {
T run(DAOContext context) throws Exception;
}
|
产品线 | 版本 | 支持情况 | 备注 |
|---|---|---|---|
| FR | 10.0 | 支持 |
| Code Block | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
<extra-core>
<DBAccessProvider class="your class name"/>
</extra-core> |
...
DBAccessProvider在实现时有一个void onDBAvailable(DBAccessor accessor)的接口方法,这个方法是一个注入方法,也就是通过这个入参DBAccessor让我们的插件获得实际调用数据库的能力。一般开发时会把这个对象保存到静态变量中缓存。【点击看示例】
在编写emtity类时常用的几个注解在编写entity类时常用的几个注解
| Code Block | ||||
|---|---|---|---|---|
| ||||
@Entity //该注解用于申明这是一个实体类
@Table(name = "plugin_demo") //申明数据库表对应的信息,一般只用指定表名即可
@TableAssociation(associated = true) //这是否是一张关联表,非关联表可以不加这个注解
public class DemoEntity extends BaseEntity {
public static final String COLUMN_KEY = "key";
public static final String COLUMN_BEAN = "bean";
@Column(name = COLUMN_KEY) //申明成员对应的字段信息,常用的属性有字段名、是否可以为空、是否是主键 等等的
private String key = null;
@Column(name = COLUMN_BEAN)
@Convert(converter = BeanConverter.class)//什么这是一个需要转换存储的字段。通过实现BaseConverter接口来进行数据库字段跟对象直接的转换。一般常见的就是枚举类型的转换了。
private DemoBean bean = null;
...
} |
...