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

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 ); }