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

com.github.hdy.jdbcplus.data.db.JdbcRepository Maven / Gradle / Ivy

There is a newer version: 1.5.7
Show newest version
package com.github.hdy.jdbcplus.data.db;

import com.github.hdy.jdbcplus.result.PageResults;
import org.springframework.stereotype.Component;

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

/**
 * Created by hdy on 2019/5/30.
 */
@Component
interface JdbcRepository {


    /**
     * 根据ID查实体
     *
     * @param id
     */
    T get(ID id, Class tClass);

    /***
     * 根据某字段查询
     *
     * @param field 字段名
     * @param value 字段值
     */
    T getByField(String field, Object value, Class tClass);

    /**
     * 根据Sql查询实体
     *
     * @param sql
     */
    T getBySql(String sql, Class tClass);

    T getBySql(String sql, Class tClass, Object... params);

    T getBySql(String sql, Map params, Class tClass);

    /**
     * 查询所有实体
     */

    List findAll(Class tClass);


    /**
     * 根据Sql查询实体集合
     *
     * @param sql
     */

    List findBySql(String sql, Class tClass);

    /**
     * 根据Sql查询实体集合
     *
     * @param sql    (sql中的"?"数量必须和参数数量、顺序一致)
     * @param params 参数
     */

    List findBySql(String sql, Class tClass, Object... params);

    /**
     * 根据Sql查询实体集合
     *
     * @param sql    (sql中的"?"数量必须和参数数量、顺序一致)
     * @param params 参数
     */

    List findBySql(String sql, Map params, Class tClass);

    /**
     * 根据Sql查询Map
     *
     * @param sql (sql中的"?"数量必须和参数数量、顺序一致)
     */

    Map queryForMap(String sql);

    Map queryForMap(String sql, Object... params);

    Map queryForMap(String sql, Map params);

    /**
     * 根据Sql查询集合
     *
     * @param sql
     */
    List> queryForList(String sql);

    List> queryForList(String sql, Object... params);

    List> queryForList(String sql, Map params);

    /**
     * 分页查询
     *
     * @param sql
     * @param toEntity   结果是否是转实体
     * @param pageNumber 页码
     * @param pageSize   页数量
     * @return
     */
    PageResults page(String sql, boolean toEntity, Integer pageNumber, Integer pageSize, Class tClass);

    PageResults page(String sql, boolean toEntity, Integer pageNumber, Integer pageSize, Class tClass, Object... params);

    PageResults page(String sql, boolean toEntity, Integer pageNumber, Integer pageSize, Map params, Class tClass);

    /**
     * 查询总量
     *
     * @param sql
     * @return
     */
    Integer count(String sql);

    Integer count(String sql, Object... params);

    Integer count(String sql, Map params);

    /**
     * 执行SQL
     *
     * @param sql
     * @return
     */
    int execute(String sql);

    int execute(String sql, Object... params);

    int execute(String sql, Map params);

    /**
     * 执行插入SQL
     *
     * @param sql
     * @return
     */
    int insert(String sql);

    int insert(String sql, Object... params);

    int insert(String sql, Map params);

    /**
     * 执行修改SQL
     *
     * @param sql
     * @return
     */
    int update(String sql);

    int update(String sql, Object... params);

    int update(String sql, Map params);

    /**
     * 执行删除SQL
     *
     * @param sql
     * @return
     */
    int delete(String sql);

    int delete(String sql, Object... params);

    int delete(String sql, Map params);

    /**
     * 根据ID删除
     *
     * @param id
     * @return
     */
    int delete(ID id, Class tClass);

    /**
     * 新增实体
     *
     * @param entity
     * @return
     */
    T insert(T entity, Class tClass);

    /**
     * 修改实体
     *
     * @param entity
     * @return
     */
    T update(T entity, Class tClass);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy