类 DBHelper
java.lang.Object
io.github.mangocrisp.spring.taybct.tool.core.ds.DBHelper
数据库连接工具
Statement 和 PreparedStatement之间的关系和区别.
关系:PreparedStatement继承自Statement,都是接口
区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高
Statement 和 PreparedStatement之间的关系和区别.
关系:PreparedStatement继承自Statement,都是接口
区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高
- 从以下版本开始:
- 1.0.0
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明void
close()
关闭Connectionstatic Connection
获取数据库连接void
connect()
加载驱动static <T> List<T>
execSelect
(Connection con, String sql, Object[] parameters, int[] argTypes, Class<T> clazz) 查询static <T> T
execSelect
(Connection con, String sql, Object[] parameters, int[] argTypes, Function<ResultSet, T> resultSetConvertor) 查询static <T> T
execSelect
(Connection con, String sql, org.springframework.jdbc.core.PreparedStatementSetter pss, Function<ResultSet, T> resultSetConvertor) 查询execSelectMap
(Connection con, String sql, Object[] parameters, int[] argTypes, boolean underlineToHump) 查询static int
execUpdate
(Connection con, String sql, Object[] parameters, int[] argTypes) 增删改static int
execUpdate
(Connection con, String sql, org.springframework.jdbc.core.PreparedStatementSetter pss) 增删改static int[]
execUpdate
(Connection con, Supplier<PreparedStatement[]> pss) 批量(多条 sql)增删改static int[]
execUpdate
(Connection con, Supplier<PreparedStatement[]> pss, Consumer<PreparedStatement> pse) 批量(多条 sql)增删改static int[]
execUpdate
(Connection con, List<String> sql, List<Object[]> parameters, List<int[]> argTypes) 批量(多条 sql)增删改protected void
finalize()
static com.baomidou.mybatisplus.annotation.DbType
getDbType
(Connection connection) 获取数据源连接的数据库类型static com.baomidou.mybatisplus.annotation.DbType
getDbType
(Connection connection, com.baomidou.mybatisplus.annotation.DbType defaultDbType) 获取数据源连接的数据库类型static void
打印 sql根据无参sql语句进行查询,并返回一个对象,用于单条记录的查询根据有参sql语句进行查询,并返回一个对象,用于单条记录的查询queryRecords
(String sql) 根据无参sql语句进行查询,并返回一个数据集,用于多条记录的查询queryRecords
(String sql, Object... args) 根据有参sql语句进行查询,并返回一个数据集,用于多条记录的查询static void
release
(PreparedStatement ps, Connection con, ResultSet rs) 关闭各种 jdbc 的资源resultSetConvert
(ResultSet resultSet) 获取到Map<String, Object>
类型的对象resultSetConvert
(ResultSet resultSet, boolean underlineToHump) 获取到Map<String, Object>
类型的对象static <T> List<T>
resultSetConvert
(ResultSet resultSet, Class<T> clazz) 获取到返回 java 类型对象结果集void
setBeanClass
(Class beanClass) 设置存放查询结果的Bean类,每个Bean类对象对应一条查询的结果记录void
setConn
(Connection conn) 设置使用外部的Connection对象,如来自数据库连接池的连接void
test()
测试int
根据无参sql语句进行数据更新,并返回更新后影响的记录数int
根据有参sql语句进行数据更新,并返回更新后影响的记录数
-
构造器详细资料
-
DBHelper
设置数据连接时需要的参数- 参数:
dbms
- 数据库类型host
- 主机db
- 数据库名user
- 用户名password
- 密码
-
DBHelper
设置数据连接时需要的参数- 参数:
dbms
- 数据库类型host
- 主机port
- 端口db
- 数据库名user
- 用户password
- 密码
-
-
方法详细资料
-
conn
获取数据库连接- 参数:
driver
- 驱动名url
- 连接字符串user
- 用户pass
- 密码
-
connect
public void connect()加载驱动 -
close
public void close()关闭Connection -
query
根据无参sql语句进行查询,并返回一个对象,用于单条记录的查询- 参数:
sql
- 查询语句- 返回:
- Object
-
query
根据有参sql语句进行查询,并返回一个对象,用于单条记录的查询- 参数:
sql
- 查询语句args
- 查询参数- 返回:
- Object
-
queryRecords
根据无参sql语句进行查询,并返回一个数据集,用于多条记录的查询- 参数:
sql
- 查询语句- 返回:
- ArrayList
-
queryRecords
根据有参sql语句进行查询,并返回一个数据集,用于多条记录的查询- 参数:
sql
- 查询语句args
- 参数- 返回:
- ArrayList
-
update
根据无参sql语句进行数据更新,并返回更新后影响的记录数- 参数:
sql
- 语句- 返回:
- int
-
update
根据有参sql语句进行数据更新,并返回更新后影响的记录数- 参数:
sql
- 更新语句args
- 参数- 返回:
- int
-
setBeanClass
设置存放查询结果的Bean类,每个Bean类对象对应一条查询的结果记录- 参数:
beanClass
- ,如 User.class
-
setConn
设置使用外部的Connection对象,如来自数据库连接池的连接- 参数:
conn
- Connection对象
-
finalize
-
test
public void test()测试 -
getDbType
获取数据源连接的数据库类型- 参数:
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
- 自己设置 PreparedStatementresultSetConvertor
- 结果转换器- 返回:
- 返回结果集
-
printSql
打印 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
增删改- 参数:
con
- 连接sql
- 执行 sql 语句parameters
- 参数列表argTypes
- 参数类型列表- 返回:
- 影响的行数
-
execUpdate
批量(多条 sql)增删改- 参数:
con
- 连接pss
- 提供批量操作的 PreparedStatement- 返回:
- 景程的行数,如果批量里面有一个不行就都不行
-
execUpdate
public static int[] execUpdate(Connection con, Supplier<PreparedStatement[]> pss, Consumer<PreparedStatement> pse) 批量(多条 sql)增删改- 参数:
con
- 连接pss
- 提供批量操作的 PreparedStatementpse
- 每个 PreparedStatement 操作完之后的操作外面是否关闭- 返回:
- 景程的行数,如果批量里面有一个不行就都不行
-
execUpdate
public static int[] execUpdate(Connection con, List<String> sql, List<Object[]> parameters, List<int[]> argTypes) 批量(多条 sql)增删改- 参数:
con
- 连接sql
- 执行的 sql 语句parameters
- 参数列表argTypes
- 参数类型列表- 返回:
- 景程的行数,如果批量里面有一个不行就都不行
-
resultSetConvert
获取到返回 java 类型对象结果集- 类型参数:
T
- 类型- 参数:
resultSet
- db 返回结果集clazz
- 需要转换的类型- 返回:
- 返回结果
-
resultSetConvert
获取到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
关闭各种 jdbc 的资源- 参数:
ps
- PreparedStatementcon
- Connectionrs
- ResultSet
-