All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.sylinx.hbatis.db.common.HbatisService Maven / Gradle / Ivy

The newest version!
package cn.sylinx.hbatis.db.common;

import java.util.List;
import java.util.Map;

import cn.sylinx.hbatis.db.cache.CacheQuery;
import cn.sylinx.hbatis.db.dialect.Dialect;
import cn.sylinx.hbatis.ext.res.ClasspathSqlResource;

/**
 * 数据库操作接口
 * 
 * @author han
 *
 */
public interface HbatisService extends DbMapper, DbOper {

	/**
	 * 使用特定的数据库操作对象
	 * 
	 * @param dataSourceName 数据源名称
	 * @return HbatisService
	 */
	public HbatisService use(String dataSourceName);

	/**
	 * 数据源
	 * 
	 * @return
	 */
	public String getDatasourceName();

	/**
	 * DB类型
	 * 
	 * @return
	 */
	public Dialect getDialect();

	/**
	 * 使用缓存查询
	 * 
	 * @return
	 */
	CacheQuery withCache();

	/**
	 * 自定义操作
	 * 
	 * @param callable
	 * @return
	 */
	public  T call(Callable callable);

	/**
	 * 查询Map列表
	 * 
	 * @param sqlId
	 * @param params
	 * @return
	 */
	public List> queryForMapList(ClasspathSqlResource sqlResource, Map params);

	/**
	 * 查询记录
	 * 
	 * @param sqlId
	 * @param params
	 * @return
	 */
	public List queryForRecords(ClasspathSqlResource sqlResource, Map params);

	/**
	 * 查询第一条记录
	 * 
	 * @param sqlId
	 * @param params
	 * @return
	 */
	public Record queryFirstRecord(ClasspathSqlResource sqlResource, Map params);

	/**
	 * 查询记录
	 * 
	 * @param sqlResource
	 * @param params
	 * @return
	 */
	public List queryObjectArrayList(ClasspathSqlResource sqlResource, Map params);

	/**
	 * 查询第一条记录
	 * 
	 * @param sqlResource
	 * @param params
	 * @return
	 */
	public Object[] queryFirstObjectArray(ClasspathSqlResource sqlResource, Map params);

	/**
	 * 查询第一个map
	 * 
	 * @param sqlId
	 * @param params
	 * @return
	 */
	public Map queryFirstForMap(ClasspathSqlResource sqlResource, Map params);

	/**
	 * 通过配置文件获取对应对象列表
	 * 
	 * @param sqlId
	 * @return
	 */
	public  List query(ClasspathSqlResource sqlResource, Map params, Class clz);

	public  List queryObjectList(ClasspathSqlResource resource, Map params, Class clz);

	public  T queryFirstObject(ClasspathSqlResource resource, Map params, Class clz);

	/**
	 * 通过配置文件获取对应对象列表
	 * 
	 * @param sqlId
	 * @return
	 */
	public  T queryFirst(ClasspathSqlResource sqlResource, Map params, Class clz);

	/**
	 * update
	 * 
	 * @param sqlId
	 * @param params
	 * @return
	 */
	public int update(ClasspathSqlResource sqlResource, Map params);

	/**
	 * 执行sql
	 * 
	 * @param sqlResource
	 * @param params
	 * @return
	 */
	public boolean execute(ClasspathSqlResource sqlResource, Map params);

	/**
	 * delete
	 * 
	 * @param sqlId
	 * @param params
	 * @return
	 */
	public int delete(ClasspathSqlResource sqlResource, Map params);

	/**
	 * save
	 * 
	 * @param sqlId
	 * @param params
	 * @return
	 */
	public Object save(ClasspathSqlResource sqlResource, Map params);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy