DbExecute.java 2.19 KB
Newer Older
yanzg's avatar
yanzg committed
1
package com.yanzuoguang.db;
yanzg's avatar
yanzg committed
2

yanzg's avatar
yanzg committed
3
import com.yanzuoguang.db.impl.DbRow;
yanzg's avatar
yanzg committed
4 5 6 7 8
import com.yanzuoguang.util.vo.MapRow;

import java.util.List;

/**
yanzg's avatar
yanzg committed
9 10 11
 * 数据库链接处理工具类
 *
 * @author 颜佐光
yanzg's avatar
yanzg committed
12 13 14 15 16
 */
public interface DbExecute {

    /**
     * 更新SQL语句的执行
yanzg's avatar
yanzg committed
17 18 19 20 21
     *
     * @param targetClass 触发类
     * @param sqlName     SQL语句名称
     * @param sql         SQL语句
     * @param paras       参数信息
yanzg's avatar
yanzg committed
22
     * @return 影响行数
yanzg's avatar
yanzg committed
23
     */
yanzg's avatar
yanzg committed
24
    int update(Class<?> targetClass, String sqlName, String sql, Object... paras);
yanzg's avatar
yanzg committed
25 26 27 28 29 30 31


    /**
     * 查询数据
     *
     * @param targetClass 触发类
     * @param cls         查询的结果的类型
yanzg's avatar
yanzg committed
32
     * @param sqlName     SQL语句名称
yanzg's avatar
yanzg committed
33 34 35 36 37 38
     * @param rowHandle   通过该类来处理结果
     * @param sql         需要查询的SQL语句
     * @param paras       查询语句的参数
     * @param <T>         返回的集合的类型
     * @return 集合
     */
yanzg's avatar
yanzg committed
39
    <T> void query(Class<?> targetClass, Class<T> cls, DbRow<T> rowHandle, String sqlName, String sql, Object... paras);
yanzg's avatar
yanzg committed
40 41 42

    /**
     * 查询数据,并返回集合
yanzg's avatar
yanzg committed
43 44 45
     *
     * @param targetClass 触发类
     * @param cls         查询的结果的类型
yanzg's avatar
yanzg committed
46
     * @param sqlName     SQL语句名称
yanzg's avatar
yanzg committed
47 48 49
     * @param sql         需要查询的SQL语句
     * @param paras       查询语句的参数
     * @param <T>         返回的集合的类型
yanzg's avatar
yanzg committed
50 51
     * @return 集合
     */
yanzg's avatar
yanzg committed
52
    <T> List<T> query(Class<?> targetClass, Class<T> cls, String sqlName, String sql, Object... paras);
yanzg's avatar
yanzg committed
53 54 55 56

    /**
     * 查询数据,并返回集合
     *
yanzg's avatar
yanzg committed
57 58 59 60
     * @param targetClass 触发类
     * @param sqlName     SQL语句名称
     * @param sql         需要查询的SQL语句
     * @param paras       查询语句的参数
yanzg's avatar
yanzg committed
61 62
     * @return 集合
     */
yanzg's avatar
yanzg committed
63
    List<MapRow> query(Class<?> targetClass, String sqlName, String sql, Object... paras);
yanzg's avatar
yanzg committed
64 65 66

    /**
     * 查询第一个单元格的信息
yanzg's avatar
yanzg committed
67 68 69 70 71
     *
     * @param targetClass 触发类
     * @param sqlName     SQL语句名称
     * @param sql         SQL语句
     * @param paras       参数信息
yanzg's avatar
yanzg committed
72 73
     * @return 第一个单元格的数据
     */
yanzg's avatar
yanzg committed
74
    Object queryCell(Class<?> targetClass, String sqlName, String sql, Object... paras);
yanzg's avatar
yanzg committed
75
}