java.lang.Object
io.github.mangocrisp.spring.taybct.tool.core.ds.DBHelper

public class DBHelper extends Object
数据库连接工具
Statement 和 PreparedStatement之间的关系和区别.
关系:PreparedStatement继承自Statement,都是接口
区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高
从以下版本开始:
1.0.0
  • 构造器详细资料

    • DBHelper

      public DBHelper(String dbms, String host, String db, String user, String password)
      设置数据连接时需要的参数
      参数:
      dbms - 数据库类型
      host - 主机
      db - 数据库名
      user - 用户名
      password - 密码
    • DBHelper

      public DBHelper(String dbms, String host, String port, String db, String user, String password)
      设置数据连接时需要的参数
      参数:
      dbms - 数据库类型
      host - 主机
      port - 端口
      db - 数据库名
      user - 用户
      password - 密码
  • 方法详细资料

    • conn

      public static Connection conn(String driver, String url, String user, String pass)
      获取数据库连接
      参数:
      driver - 驱动名
      url - 连接字符串
      user - 用户
      pass - 密码
    • connect

      public void connect()
      加载驱动
    • close

      public void close()
      关闭Connection
    • query

      public Object query(String sql)
      根据无参sql语句进行查询,并返回一个对象,用于单条记录的查询
      参数:
      sql - 查询语句
      返回:
      Object
    • query

      public Object query(String sql, Object... args)
      根据有参sql语句进行查询,并返回一个对象,用于单条记录的查询
      参数:
      sql - 查询语句
      args - 查询参数
      返回:
      Object
    • queryRecords

      public ArrayList queryRecords(String sql)
      根据无参sql语句进行查询,并返回一个数据集,用于多条记录的查询
      参数:
      sql - 查询语句
      返回:
      ArrayList
    • queryRecords

      public ArrayList queryRecords(String sql, Object... args)
      根据有参sql语句进行查询,并返回一个数据集,用于多条记录的查询
      参数:
      sql - 查询语句
      args - 参数
      返回:
      ArrayList
    • update

      public int update(String sql)
      根据无参sql语句进行数据更新,并返回更新后影响的记录数
      参数:
      sql - 语句
      返回:
      int
    • update

      public int update(String sql, Object... args)
      根据有参sql语句进行数据更新,并返回更新后影响的记录数
      参数:
      sql - 更新语句
      args - 参数
      返回:
      int
    • setBeanClass

      public void setBeanClass(Class beanClass)
      设置存放查询结果的Bean类,每个Bean类对象对应一条查询的结果记录
      参数:
      beanClass - ,如 User.class
    • setConn

      public void setConn(Connection conn)
      设置使用外部的Connection对象,如来自数据库连接池的连接
      参数:
      conn - Connection对象
    • finalize

      protected void finalize() throws Throwable
      覆盖:
      finalize 在类中 Object
      抛出:
      Throwable
    • test

      public void test()
      测试
    • getDbType

      public static com.baomidou.mybatisplus.annotation.DbType getDbType(Connection connection)
      获取数据源连接的数据库类型
      参数:
      connection - 数据源连接
      返回:
      类型
    • getDbType

      public static com.baomidou.mybatisplus.annotation.DbType getDbType(Connection connection, com.baomidou.mybatisplus.annotation.DbType defaultDbType)
      获取数据源连接的数据库类型
      参数:
      connection - 数据源连接
      defaultDbType - 类型库类型
      返回:
      类型
    • execSelect

      public static <T> List<T> execSelect(Connection con, String sql, Object[] parameters, int[] argTypes, Class<T> clazz)
      查询
      类型参数:
      T - 返回的对象类型
      参数:
      con - jdbc 连接
      sql - sql 语句
      parameters - 参数列表
      argTypes - 参数类型
      clazz - 返回结果的类型
      返回:
      返回对象集合
    • execSelectMap

      public static List<Map<String,Object>> execSelectMap(Connection con, String sql, Object[] parameters, int[] argTypes, boolean underlineToHump)
      查询
      参数:
      con - jdbc 连接
      sql - sql 语句
      parameters - 参数列表
      argTypes - 参数类型
      underlineToHump - 是否需要下划线转驼峰的 key
      返回:
      返回结果集
    • execSelect

      public static <T> T execSelect(Connection con, String sql, @Nullable org.springframework.jdbc.core.PreparedStatementSetter pss, Function<ResultSet,T> resultSetConvertor)
      查询
      参数:
      con - jdbc 连接
      sql - sql 语句
      pss - 自己设置 PreparedStatement
      resultSetConvertor - 结果转换器
      返回:
      返回结果集
    • printSql

      public static void printSql(PreparedStatement ps)
      打印 sql
      参数:
      ps - PreparedStatement 对象
    • execSelect

      public static <T> T execSelect(Connection con, String sql, Object[] parameters, int[] argTypes, Function<ResultSet,T> resultSetConvertor)
      查询
      参数:
      sql - sql 语句
      parameters - 参数列表
      argTypes - 参数类型
      con - jdbc 连接
      resultSetConvertor - 结果转换器
      返回:
      返回结果集
    • execUpdate

      public static int execUpdate(Connection con, String sql, @Nullable org.springframework.jdbc.core.PreparedStatementSetter pss)
      增删改
      参数:
      con - 连接
      sql - 执行 sql 语句
      pss - 自己设置 PreparedStatement
      返回:
      影响的行数
    • execUpdate

      public static int execUpdate(Connection con, String sql, Object[] parameters, int[] argTypes)
      增删改
      参数:
      con - 连接
      sql - 执行 sql 语句
      parameters - 参数列表
      argTypes - 参数类型列表
      返回:
      影响的行数
    • execUpdate

      public static int[] execUpdate(Connection con, Supplier<PreparedStatement[]> pss)
      批量(多条 sql)增删改
      参数:
      con - 连接
      pss - 提供批量操作的 PreparedStatement
      返回:
      景程的行数,如果批量里面有一个不行就都不行
    • execUpdate

      public static int[] execUpdate(Connection con, Supplier<PreparedStatement[]> pss, Consumer<PreparedStatement> pse)
      批量(多条 sql)增删改
      参数:
      con - 连接
      pss - 提供批量操作的 PreparedStatement
      pse - 每个 PreparedStatement 操作完之后的操作外面是否关闭
      返回:
      景程的行数,如果批量里面有一个不行就都不行
    • execUpdate

      public static int[] execUpdate(Connection con, List<String> sql, List<Object[]> parameters, List<int[]> argTypes)
      批量(多条 sql)增删改
      参数:
      con - 连接
      sql - 执行的 sql 语句
      parameters - 参数列表
      argTypes - 参数类型列表
      返回:
      景程的行数,如果批量里面有一个不行就都不行
    • resultSetConvert

      public static <T> List<T> resultSetConvert(ResultSet resultSet, Class<T> clazz)
      获取到返回 java 类型对象结果集
      类型参数:
      T - 类型
      参数:
      resultSet - db 返回结果集
      clazz - 需要转换的类型
      返回:
      返回结果
    • resultSetConvert

      public static List<Map<String,Object>> resultSetConvert(ResultSet resultSet)
      获取到 Map<String, Object> 类型的对象
      参数:
      resultSet - db 返回的结果集
      返回:
      返回结果
    • resultSetConvert

      public static List<Map<String,Object>> resultSetConvert(ResultSet resultSet, boolean underlineToHump)
      获取到 Map<String, Object> 类型的对象
      参数:
      resultSet - db 返回的结果集
      underlineToHump - 是否需要下划线转驼峰的 key
      返回:
      返回结果
    • release

      public static void release(PreparedStatement ps, Connection con, ResultSet rs)
      关闭各种 jdbc 的资源
      参数:
      ps - PreparedStatement
      con - Connection
      rs - ResultSet