多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### HBaseStyle例子 ```java public class HBaseStyle extends AbstractDBStyle { RangeSql rangeSql = null; public HBaseStyle() { super(); rangeSql = new HbaseRange(this); } @Override public int getIdType(Class c,String idProperty) { return DBType.ID_ASSIGN; } @Override public boolean isNoSql(){ return true; } @Override public String getName() { return "hbase"; } @Override public int getDBType() { return DBType.DB_HBASE; } @Override public RangeSql getRangeSql() { return rangeSql; } @Override protected SQLSource generalInsert(Class<?> cls,boolean template){ SQLSource sqlSource = super.generalInsert(cls,template); String upsert = sqlSource.template.replaceFirst("insert","UPSERT"); sqlSource.template = upsert; return sqlSource; } @Override public SQLSource genUpdateById(Class<?> cls) { return this.generalInsert(cls,false); } } ``` * getIdType 跟clickhouse一样,没有自增和序列主键,因此设定为ID_ASSIGN * rangeSql,返回一个HbaseRange实例,Hbase翻页跟MySql类似但略有不同 * generalInsert,此方法是根据实体生成内置insert语句,因为hbase使用upsert,而不是insert,因此修改了AbtractStyle.generalInsert返还默认的SQL * genUpdateById,同样根据id修改对象,也采用UPSERT方式