public class SqlAction extends Object
文件名:SqlAction.java
用途: 数据库工具基类,定义工具需要实现的基本方法以及通用方法。
类中的所有方法均为重头遍历结果集,与当前在结果集中光标的位置无关,并且遍历后不影响当前光标的位置。
编码时间:2020年12月7日上午8:12:04
修改时间:2020年12月7日上午8:12:04
Modifier and Type | Field and Description |
---|---|
protected Connection |
connect
数据库连接类对象
|
protected String |
dataBaseName
指向连接的数据名称
|
protected DataBaseType |
dataBaseType
指向连接的数据库类型
|
protected String |
host
指向连接的数据主机
|
protected String |
password
指向连接的数据库密码
|
protected Optional<ResultSet> |
result
存储SQL执行结果集
|
protected String |
SQL_SPLIT_SIGN
SQL语句的分隔符号
|
protected String |
username
指向连接的数据库用户名
|
Constructor and Description |
---|
SqlAction(DataBaseType dataBaseType,
String username,
String password,
String host,
String dataBaseName)
构造方法,用于指定数据库基本信息
|
Modifier and Type | Method and Description |
---|---|
void |
close()
用于关闭数据库的连接
|
TableData<String> |
getAllColumnResult(int startIndex,
int endIndex)
用于获取结果集指定行数的所有列内容,并以字符串的形式进行存储。
|
TableData<String> |
getAllResult()
用于获取结果集中所有的内容,并以字符串的形式进行存储。
|
List<String> |
getAllTableName()
该方法用于获取指定库中的所有表的表名
|
ArrayList<String> |
getColumnNames()
获取结果集中所有字段的名称
|
Connection |
getConnection()
该方法用于返回工具创建的数据库连接对象
|
TableData<String> |
getResult(int startIndex,
int endIndex,
List<String> fieldList)
用于根据表中的字段名,获取结果集指定行数的内容,并以字符串的形式进行存储。
|
TableData<String> |
getResult(int startIndex,
int endIndex,
String... fieldNames)
用于根据表中的字段名,获取结果集指定行数的内容,并以字符串的形式进行存储。
|
ResultSet |
getResultSet()
用于返回结果集
|
int |
getResultSize()
用于返回当前结果集中的元素个数
|
List<String> |
getTableAllFieldName(String tableName)
该方法用于获取表中的所有字段名
|
SqlAction |
run(String sqlText)
运行指定的SQL语句。
|
protected final String SQL_SPLIT_SIGN
protected Connection connect
protected DataBaseType dataBaseType
protected String username
protected String password
protected String host
protected String dataBaseName
public SqlAction(DataBaseType dataBaseType, String username, String password, String host, String dataBaseName)
username
- 用户名password
- 密码host
- 主机(包括端口)dataBaseName
- 数据源public SqlAction run(String sqlText)
sqlText
- SQL语句DatabaseException
- 当SQL语句为空或执行有误时,抛出的异常public Connection getConnection()
public List<String> getTableAllFieldName(String tableName)
tableName
- 表名public ResultSet getResultSet()
public int getResultSize()
public TableData<String> getResult(int startIndex, int endIndex, String... fieldNames)
注意:其行下标参数从1开始计算,即传入1则表示为获取第一行数据,具体参数说明可参考getResult(int, int, List)
startIndex
- 开始行endIndex
- 结束行fieldNames
- 字段组,可传入多个值DatabaseException
- 若字段有误或未执行SQL或无结果集时抛出的异常getResult(int, int, List)
public TableData<String> getResult(int startIndex, int endIndex, List<String> fieldList)
方法接收结果集的起始下标与结束下标,并根据该组下标,获取结果,将其转换为 字符串的形式进行返回,另外,行下标从1开始遍历,下标传入0或者1都表示获取第1行元素,且下标允许 传入负数,表示反序遍历。其可能会出现以下情况:
注意:调用方法后,下标传入的负数实则会根据结果集的个数,转换为一个正数 进行传参,即假设结果集中有100个元素,下标传入-2时,会将其转换为99(倒数第二行)进行处理。 若负数下标的绝对值超过结果集的总数,则表示获取第一行元素
startIndex
- 开始行endIndex
- 结束行fieldList
- 字段名集合DatabaseException
- 若字段有误或未执行SQL或无结果集时抛出的异常getResult(int, int, String...)
public TableData<String> getAllColumnResult(int startIndex, int endIndex)
注意:其行下标参数从1开始计算,即传入1则表示为获取第一行数据,具体参数说明可参考getResult(int, int, List)
startIndex
- 开始行endIndex
- 结束行DatabaseException
- 若字段有误或未执行SQL或无结果集时抛出的异常getResult(int, int, List)
public TableData<String> getAllResult()
注意:调用该方法会将数据库中所有的数据全部获取并存储至类中,
若返回数据较多时,建议使用分行获取方法getAllColumnResult(int, int)
DatabaseException
- 若字段有误或未执行SQL或无结果集时抛出的异常getAllColumnResult(int, int)
public void close()
Copyright © 2024. All rights reserved.