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

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

There is a newer version: 2.0.0.RELEASE
Show newest version

package cn.sylinx.hbatis.db.common;

import java.io.Serializable;
import java.util.List;

import cn.sylinx.hbatis.kit.Ret;

/**
 * native sql 操作支持
 *
 * @author hanqz
 */
public interface DbOper extends DbQuery {

	/**
	 * 是否存在表
	 * 
	 * @param schema
	 * @param table
	 * @return
	 */
	public boolean existTable(final String schema, final String table);

	/**
	 * 是否存在表字段
	 * 
	 * @param schema
	 * @param table
	 * @param column
	 * @return
	 */
	public boolean existTableColumn(final String schema, final String table, final String column);

	/**
	 * 事务处理
	 * 
	 * @param transaction
	 *            事务执行接口
	 * @return
	 */
	public boolean transaction(ITransaction transaction);

	/**
	 * 带有返回信息的事务处理
	 * 
	 * @param transaction
	 * @return
	 */
	public Ret transactionWithReturn(ITransaction transaction);

	/**
	 * 保存
	 * 
	 * @param insertSql
	 *            插入sql
	 * @param params
	 *            参数列表
	 * @return 主键
	 */
	public Serializable save(final String insertSql, final Object... params);

	/**
	 * 更新
	 * 
	 * @param updateSql
	 *            更新sql
	 * @param params
	 *            参数列表
	 * @return 更新行数
	 */
	public int update(final String updateSql, final Object... params);

	/**
	 * 更新,带返回主键
	 * 
	 * @param updateSql
	 * @param params
	 * @return
	 */
	public Serializable updateWithReturnPk(final String updateSql, final Object... params);

	/**
	 * 执行sql
	 * 
	 * @param exeSql
	 * @param params
	 * @return
	 */
	public boolean execute(final String exeSql, final Object... params);

	/**
	 * 执行超大sql,包括ddl
	 * 
	 * @param exeSql
	 * @return
	 */
	public boolean executeLargeUpdate(final List exeSqlList);

	/**
	 * 批量执行语句
	 * 
	 * @param sql
	 *            sql语句(更新、插入、删除)
	 * @return 影响行数
	 */
	public int[] batch(final List sql);

	/**
	 * 批量执行语句
	 * 
	 * @param sql
	 *            sql语句(更新、插入、删除)
	 * @param params
	 *            参数
	 * @return 影响行数
	 */
	public int[] batch(final String sql, final Object[][] params);

	/**
	 * 批量执行语句
	 * 
	 * @param sql
	 *            sql语句(更新、插入、删除)
	 * @param params
	 *            参数
	 * @param batchSize
	 *            批量提交量
	 * @return 影响行数
	 */
	public int[] batch(final String sql, final Object[][] params, final int batchSize);

	/**
	 * 批量执行语句
	 * 
	 * @param sqlList
	 *            sql列表
	 * @param batchSize
	 *            批量提交量
	 * @return 影响行数
	 */
	public int[] batch(final List sqlList, final int batchSize);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy