com.ext_ext.mybatisext.activerecord.Table Maven / Gradle / Ivy
package com.ext_ext.mybatisext.activerecord;
import java.util.List;
import com.ext_ext.mybatisext.activerecord.meta.TableMeta;
import com.ext_ext.mybatisext.activerecord.sql.DeleteSQL;
import com.ext_ext.mybatisext.activerecord.sql.InsertSQL;
import com.ext_ext.mybatisext.activerecord.sql.SelectSQL;
import com.ext_ext.mybatisext.activerecord.sql.UpdateSQL;
import com.ext_ext.mybatisext.activerecord.statement.Delete;
import com.ext_ext.mybatisext.activerecord.statement.Insert;
import com.ext_ext.mybatisext.activerecord.statement.Select;
import com.ext_ext.mybatisext.activerecord.statement.Update;
import com.ext_ext.mybatisext.annotation.Trans;
import com.ext_ext.mybatisext.helper.Page;
/**
* 表操作对象
*
*
* @author 宋汝波
* @date 2015年11月4日
* @version 1.0.0
*/
public interface Table
{
/**
* 表信息
*
*
* @return
*/
public TableMeta
getTableMeta();
/**
* 数据库操作对象
*
*
* @return
*/
public DB getDB();
/**
* 插入操作对象
*
*
* @return
*/
public Insert
getInsert();
/**
* 查询操作对象
*
*
* @return
*/
public Select
getSelect();
/**
* 删除操作对象
*
*
* @return
*/
public Delete
getDelete();
/**
* 更新操作对象
*
*
* @return
*/
public Update
getUpdate();
/**
* 根据插入对象执行
*
*
* @param insertSql
* @return
*/
@Trans("update")
public int excute( InsertSQL insertSql );
/**
* 根据查询对象查询
*
*
* @param selectSql
* @return
*/
@Trans
public List
excute( SelectSQL selectSql );
/**
* 根据更新对象更新
*
*
* @param updateSql
* @return
*/
@Trans("update")
public int excute( UpdateSQL updateSql );
/**
* 根据删除对象删除
*
*
* @param deleteSql
* @return
*/
@Trans("update")
public int excute( DeleteSQL deleteSql );
/**
* 脚本查询
*
*
* @param script
* @param parameter
* @return
*/
@Trans
public List
listScript( String script, Object parameter );
/**
* 脚本一条结果
*
*
* @param script
* @param parameter
* @return
*/
@Trans
public TABLE oneScript( String script, Object parameter );
/**
* 脚本更新,支持自增主键返回
*
*
* @param script
* @param parameter
* @return
*/
@Trans("update")
public int updateScript( String script, Object parameter );
/**
* 脚本分页查询
*
*
* @param page
* @param script
* @param parameter
* @return
*/
@Trans
Page
pagingScript( Page page, String script, Object parameter );
/**
* 分页查询
*
*
* @param pageNo
* @param size
* @param script
* @param parameter
* @return
*/
@Trans
List
pagingScript( int pageNo, int size, String script, Object parameter );
/**
* 查询列表数据
*
*
* @param sql 普通sql
* @param parameter 占位符参数
* @return
*/
@Trans
public List
list( String sql, Object... parameter );
/**
* 分页查询
*
*
* @param page 分页对象
* @param sql 普通sql
* @param parameter 占位符的参数
* @return
*/
@Trans
public Page
paging( Page page, String sql, Object... parameter );
/**
* 查询一条数据
*
*
* @param sql 普通sql
* @param parameter 参数列表
* @return
*/
@Trans
public TABLE one( String sql, Object... parameter );
/**
* 执行更新操作
*
*
* @param sql 普通sql
* @param parameter 传入参数
* @return
*/
@Trans("update")
public int update( String sql, Object... parameter );
/**
* 分页操作
*
*
* @param pageNo 第几页的数据
* @param size 一页多少数据
* @param sql 普通sql语句
* @param parameter 参数列表
* @return
*/
@Trans
List
paging( int pageNo, int size, String sql, Object... parameter );
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy