org.jfaster.badger.util.ManualShardUtils Maven / Gradle / Ivy
package org.jfaster.badger.util;
import java.util.ArrayList;
import java.util.List;
import org.jfaster.badger.Badger;
import org.jfaster.badger.exception.BadgerException;
import org.jfaster.badger.exception.MappingException;
import org.jfaster.badger.query.shard.DataSourceShardStrategy;
import org.jfaster.badger.query.shard.ShardResult;
import org.jfaster.badger.query.shard.ShardTableInfo;
import org.jfaster.badger.query.shard.TableShardStrategy;
import org.jfaster.badger.sql.ParseResult;
/**
* 手动分库分表工具
* @author yanpengfang
* create 2019-01-16 3:31 PM
*/
public class ManualShardUtils {
public static ShardResult shard(Class> clazz, Object shardValue) {
ShardResult res = new ShardResult();
ShardTableInfo shardInfo = SqlUtils.getShardTableInfo(clazz);
if (shardInfo == null) {
throw new BadgerException("分库分表需要注解@ShardTable");
}
return shard(shardValue, shardInfo, res);
}
public static ShardResult shard(Object o, Object shardValue) {
return shard(o.getClass(), shardValue);
}
public static ShardResult shard(Class> clazz, String condition, List © 2015 - 2025 Weber Informatics LLC | Privacy Policy