public class JdbcHelper.Table extends Object
| 限定符和类型 | 方法和说明 |
|---|---|
int[] |
batchDelete(List<Object> ids)
根据主健批量删除数据
|
int[] |
batchDelete(Object[] ids)
根据主键批量删除数据
|
int[] |
batchInsert(List<Map<String,Object>> data)
单表批量插入
|
int[] |
batchInsert(Map<String,Object>[] dataList)
批量添加数据到数据库
|
int[] |
batchUpdate(List<Map<String,Object>> data)
单表批量更新
|
int[] |
batchUpdate(Map<String,Object>[] data)
单表批量更新
|
int |
delete(Object id)
根据主键删除数据
|
List<Map<String,Object>> |
formatByInsert(List<Map<String,Object>> dataList)
格式化数据列表以适应插入操作
对输入的Map列表中的每个元素进行格式化处理,返回处理后的新列表。
|
Map<String,Object> |
formatByInsert(Map<String,Object> dataMap)
初始化数据格式,根据表字段映射规则处理输入数据
|
List<Map<String,Object>> |
formatByUpdate(List<Map<String,Object>> dataList)
批量处理数据列表,对每个元素调用单条数据格式化方法
|
Map<String,Object> |
formatByUpdate(Map<String,Object> dataMap)
根据表字段的默认数据去初始化字段值
|
String |
getDatabaseName()
获取表所在数据库名称
|
String |
getDatabaseType()
获取表所在数据库类型:mysql,mssql,oracle
|
String |
getSQLInsert()
根据表结构获取插入语句
|
int |
insert(Map<String,Object> dataMap)
单表插入数据
|
JdbcHelper.Table |
primary(String... primaryKey)
设置主键名,默认:id
|
int |
save(Map<String,Object> dataMap)
根据是否包括ID项,来决定是否更新还是插入数据
|
int |
update(Map<String,Object> dataMap)
单表批量更新
|
void |
validateValue(Map<String,Object> dataMap)
数据格式验证
根据表字段映射信息验证输入数据Map中的字段值是否符合要求,包括:
1.
|
JdbcHelper.Table |
where(String where)
设置where语句
|
public Table(String key, String tableName) throws SQLException
key - 数据源标识键tableName - 要操作的表名SQLException - 当表名为空或表不存在时抛出异常
1. 表名为空时抛出"表名不能为空"异常
2. 表不存在时抛出"表不存在"异常@Comment(value="\u83b7\u53d6\u8868\u6240\u5728\u6570\u636e\u5e93\u540d\u79f0") public String getDatabaseName() throws SQLException
SQLException - 如果获取数据库名称时发生SQL异常@Comment(value="\u83b7\u53d6\u8868\u6240\u5728\u6570\u636e\u5e93\u7c7b\u578b\uff1amysql,mssql,oracle") public String getDatabaseType() throws SQLException
SQLException - 如果获取数据库类型时发生SQL异常@Comment(value="\u5355\u8868\u6279\u91cf\u66f4\u65b0")
public int[] batchUpdate(@Comment(value="\u4f8b\u5982\uff1a[{id:1,name:\'name\',old:23},{id:2,name:\'name\',old:23}]")
List<Map<String,Object>> data)
throws SQLException
data - 批量更新的数据列表,格式例如:[{id:1,name:'name',old:23},{id:2,name:'name',old:23}]SQLException - 当data为null时抛出@Comment(value="\u5355\u8868\u6279\u91cf\u66f4\u65b0")
public int[] batchUpdate(@Comment(value="\u4f8b\u5982\uff1a[{id:1,name:\'name\',old:23},{id:2,name:\'name\',old:23}]")
Map<String,Object>[] data)
throws SQLException
data - 包含更新数据的Map数组,格式例如:[{id:1,name:'name',old:23},{id:2,name:'name',old:23}]SQLException - 如果执行SQL过程中出现异常@Comment(value="\u5355\u8868\u6279\u91cf\u66f4\u65b0")
public int update(@Comment(value="\u4f8b\u5982\uff1a{id:2,name:\'name\',old:3}")
Map<String,Object> dataMap)
throws SQLException
dataMap - 包含更新数据的Map,格式如:{id:2,name:'name',old:3}。
其中id对应表的主键,其他字段为需要更新的字段SQLException - 当主键不存在或没有可更新字段时抛出异常@Comment(value="\u8bbe\u7f6e\u4e3b\u952e\u540d\uff0c\u9ed8\u8ba4:id") public JdbcHelper.Table primary(@Comment(value="\u4e3b\u952e\u540d:id,\u4f8b\u5982: id,no....") String... primaryKey)
primaryKey - 主键名:id,例如: id,no.... 可变参数形式,允许设置多个主键名@Comment(value="\u8bbe\u7f6ewhere\u8bed\u53e5") public JdbcHelper.Table where(@Comment(value="\u6761\u4ef6\u8bed\u53e5,\u4f8b\u5982: id=1") String where)
where - 条件语句,例如: id=1@Comment(value="\u6839\u636e\u662f\u5426\u5305\u62ecID\u9879\uff0c\u6765\u51b3\u5b9a\u662f\u5426\u66f4\u65b0\u8fd8\u662f\u63d2\u5165\u6570\u636e")
public int save(@Comment(value="\u4f8b\u5982: {field1\uff1a1\uff0cfield2:\'val1\'}")
Map<String,Object> dataMap)
throws SQLException,
TokenAuthenticationException
dataMap - 包含要保存的数据的Map对象,例如: {field1:1,field2:'val1'}SQLException - 当数据库操作发生异常时抛出TokenAuthenticationException - 当令牌认证失败时抛出@Comment(value="\u6570\u636e\u683c\u5f0f\u9a8c\u8bc1") public void validateValue(Map<String,Object> dataMap) throws SQLException
根据表字段映射信息验证输入数据Map中的字段值是否符合要求,包括: 1. 检查必填字段是否为空 2. 检查字符串类型字段长度是否超过最大限制
dataMap - 包含待验证数据的Map,key为字段名,value为字段值SQLException - 当验证不通过时抛出异常,包含具体的错误信息public List<Map<String,Object>> formatByInsert(@Comment(value="\u4f8b\u5982: {id\uff1a3\uff0cname:\'name\',old:3}") List<Map<String,Object>> dataList) throws SQLException
dataList - 包含待格式化数据的Map列表,示例: {id:3,name:'name',old:3}SQLException - 如果数据库操作过程中发生错误@Comment(value="\u521d\u59cb\u5316\u6570\u636e\u683c\u5f0f") public Map<String,Object> formatByInsert(@Comment(value="\u4f8b\u5982: {id\uff1a3\uff0cname:\'name\',old:3}") Map<String,Object> dataMap) throws SQLException
dataMap - 输入数据映射表,格式如:{id:3, name:'name', old:3}
如果字段值为null或空字符串,会使用表字段映射中的默认值填充SQLException - 如果数据库操作出现异常时抛出public List<Map<String,Object>> formatByUpdate(List<Map<String,Object>> dataList) throws SQLException
dataList - 待处理的数据列表,每个元素为Map结构SQLException - 如果处理过程中发生数据库异常@Comment(value="\u6839\u636e\u8868\u5b57\u6bb5\u7684\u9ed8\u8ba4\u6570\u636e\u53bb\u521d\u59cb\u5316\u5b57\u6bb5\u503c") public Map<String,Object> formatByUpdate(@Comment(value="\u4f8b\u5982: {id\uff1a3\uff0cname:\'name\',old:3}") Map<String,Object> dataMap) throws SQLException
SQLException@Comment(value="\u5355\u8868\u6279\u91cf\u63d2\u5165")
public int[] batchInsert(@Comment(value="\u4f8b\u5982: [{id:3,name:\'name\',old:3},{id:2,name:\'name\',old:3}]")
List<Map<String,Object>> data)
throws SQLException
data - 待插入的数据列表,格式例如: [{id:3,name:'name',old:3},{id:2,name:'name',old:3}]SQLException - 当data为null时抛出异常@Comment(value="\u6279\u91cf\u6dfb\u52a0")
public int[] batchInsert(@Comment(value="\u4f8b\u5982: [{id:3,name:\'name\',old:3},{id:2,name:\'name\',old:3}]")
Map<String,Object>[] dataList)
throws SQLException
dataList - 包含多个数据对象的Map数组,每个Map代表一条记录,
例如: [{id:3,name:'name',old:3},{id:2,name:'name',old:3}]SQLException - 当数据库操作出现异常时抛出@Comment(value="\u6839\u636e\u8868\u7ed3\u6784\u83b7\u53d6\u63d2\u5165\u8bed\u53e5") public String getSQLInsert() throws SQLException
SQLException - 如果获取表结构信息时发生数据库错误@Comment(value="\u5355\u8868\u63d2\u5165\u6570\u636e")
public int insert(@Comment(value="\u4f8b\u5982: {id\uff1a3\uff0cname:\'name\',old:3}")
Map<String,Object> dataMap)
throws SQLException
dataMap - 包含要插入数据的Map对象,例如: {id:3,name:'name',old:3}SQLException - 如果执行SQL时发生错误@Comment(value="\u6839\u636e\u4e3b\u5065\u5220\u9664\u6570\u636e")
public int delete(@Comment(value="\u4f8b\u5982\uff1a1\u6216\u8005\u5b57\u7b26\u4e32")
Object id)
id - 主键值,可以是单个值(如数字或字符串)或包含多个主键的Map集合
例如:1 或者字符串,或者包含多个键值对的MapRuntimeException - 当没有定义任何主键时抛出异常@Comment(value="\u6839\u636e\u4e3b\u5065\u6279\u91cf\u5220\u9664\u6570\u636e")
public int[] batchDelete(@Comment(value="\u4f8b\u5982: [1,2,3]")
List<Object> ids)
ids - 主键ID列表,例如: [1,2,3]@Comment(value="\u6839\u636e\u4e3b\u5065\u6279\u91cf\u5220\u9664\u6570\u636e")
public int[] batchDelete(@Comment(value="\u4f8b\u5982: [1,2,3]")
Object[] ids)
ids - 主键ID数组,例如: [1,2,3]Copyright © 2025. All rights reserved.