1
mirror of https://github.com/CarmJos/EasySQL.git synced 2026-06-05 09:01:26 +08:00

Compare commits

..

1 Commits

Author SHA1 Message Date
CarmJos 2c3818ea41 Maven project deployment. 2023-03-15 23:16:30 +08:00
162 changed files with 436 additions and 4898 deletions
-9
View File
@@ -1,9 +0,0 @@
# EasySQL Javadoc
基于 [Github Pages](https://pages.github.com/) 搭建,请访问 [JavaDoc](https://carmjos.github.io/EasySQL) 。
## 如何实现?
若您也想通过 [Github Actions](https://docs.github.com/en/actions/learn-github-actions)
自动部署项目的Javadoc到 [Github Pages](https://pages.github.com/)
可以参考我的文章 [《自动部署Javadoc到Github Pages》](https://pages.carm.cc/doc/javadoc-in-github.html) 。
-3
View File
@@ -1,3 +0,0 @@
# 欢迎使用 EasySQL
这个项目刚刚创建,详细的Javadoc与开发指南还在补充,请给我一点时间~
-2
View File
@@ -1,2 +0,0 @@
github: [ CarmJos ]
custom: [ 'https://donate.carm.cc' ]
-34
View File
@@ -1,34 +0,0 @@
---
name: 问题提交 about: 描述问题并提交,帮助我们对其进行检查与修复。 title: ''
labels: bug assignees: ''
---
### **问题简述**
用简短的话语描述一下大概问题。
### **问题来源**
描述一下通过哪些操作才发现的问题,如:
1. 使用了 '...'
2. 输入了 '....'
3. 出现了报错 '....'
### **预期结果** (可选)
如果问题不发生,应该是什么情况
### **问题截图/问题报错**
如果有报错或输出,请提供截图。
### **操作环境**
- 系统环境: `Windows 10` / `Ubuntu` / `...`
- Java版本: `JDK11` / `OPENJDK8` / `JRE8` / `...`
### **其他补充**
如有其他补充,可以在这里描述。
-21
View File
@@ -1,21 +0,0 @@
---
name: 功能需求 about: 希望我们提供更多的功能。 title: ''
labels: enhancement assignees: ''
---
### **功能简述**
简单的描述一下你想要的功能
### **需求来源**
简单的描述一下为什么需要这个功能。
### **功能参考**(可选)
如果有相关功能的参考,如文本、截图,请提供给我们。
### **附加内容**
如果有什么小细节需要重点注意,请在这里告诉我们。
-11
View File
@@ -1,11 +0,0 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "maven" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
-41
View File
@@ -1,41 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
OK7d0W/LdJ3iFeselROADHgPQn14sg==
=rRA5
-----END PGP PUBLIC KEY BLOCK-----
-54
View File
@@ -1,54 +0,0 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow checks out code, performs a Codacy security scan
# and integrates the results with the
# GitHub Advanced Security code scanning feature. For more information on
# the Codacy security scan action usage and parameters, see
# https://github.com/codacy/codacy-analysis-cli-action.
# For more information on Codacy Analysis CLI in general, see
# https://github.com/codacy/codacy-analysis-cli.
name: "Codacy Security Scan"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '27 16 * * 5'
jobs:
codacy-security-scan:
name: Codacy Security Scan
runs-on: ubuntu-latest
steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout code
uses: actions/checkout@v2
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
- name: Run Codacy Analysis CLI
uses: codacy/codacy-analysis-cli-action@d840f886c4bd4edc059706d09c6a1586111c540b
with:
# Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository
# You can also omit the token and run the tools that support default configurations
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
verbose: true
output: results.sarif
format: sarif
# Adjust severity of non-security issues
gh-code-scanning-compat: true
# Force 0 exit code to allow SARIF file generation
# This will handover control about PR rejection to the GitHub side
max-allowed-issues: 2147483647
# Upload the SARIF file generated in the previous step
- name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: results.sarif
-70
View File
@@ -1,70 +0,0 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL Analysis"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '45 12 * * 1'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'java' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
-108
View File
@@ -1,108 +0,0 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: "Project Deploy"
on:
# 支持手动触发构建
workflow_dispatch:
release:
# 创建release的时候触发
types: [ published ]
jobs:
gh-deploy:
name: "Publish Project (GitHub)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: "Set up JDK"
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
cache: maven
server-id: github
server-username: MAVEN_USERNAME
server-password: MAVEN_TOKEN
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
- name: "Maven Deploy With Javadoc"
run: mvn -B -Pgithub deploy --file pom.xml -DskipTests
env:
MAVEN_USERNAME: ${{ github.repository_owner }}
MAVEN_TOKEN: ${{secrets.GITHUB_TOKEN}}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: "Copy Javadoc to Location"
run: |
rm -rf docs
mkdir -vp docs
cp -vrf easysql-api/target/apidocs/* docs/
cp -vrf .documentation/JAVADOC-README.md docs/README.md
- name: "Generate the Javadoc sitemap"
id: sitemap
uses: cicirello/generate-sitemap@v1
with:
base-url-path: https://carmjos.github.io/EasySQL
path-to-root: docs
- name: "Output stats"
run: |
echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"
- name: "Configure Git"
env:
DEPLOY_PRI: ${{secrets.DEPLOY_PRI}}
run: |
sudo timedatectl set-timezone "Asia/Shanghai"
mkdir -p ~/.ssh/
echo "$DEPLOY_PRI" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com >> ~/.ssh/known_hosts
git config --global user.name 'CarmJos'
git config --global user.email 'carm@carm.cc'
- name: "Commit documentations"
run: |
cd docs
git init
git remote add origin git@github.com:CarmJos/EasySQL.git
git checkout -b gh-pages
git add -A
git commit -m "API Document generated."
- name: "Push javadocs"
run: |
cd docs
git push origin HEAD:gh-pages --force
central-deploy:
name: "Deploy Project (Central Repository)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: "Set up JDK"
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
cache: maven
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
- name: "Central Deploy"
run: mvn -B -Possrh deploy --file pom.xml -DskipTests
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USER }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASS }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
-31
View File
@@ -1,31 +0,0 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Project Build & Tests
on:
# 支持手动触发构建
workflow_dispatch:
push:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: "Set up JDK"
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
- name: "Package"
run: mvn -B package --file pom.xml -Dmaven.javadoc.skip=true
- name: "Target Stage"
run: mkdir staging && cp */target/*.jar staging
- name: "Upload artifact"
uses: actions/upload-artifact@v2
with:
name: Artifact
path: staging
-4
View File
@@ -1,4 +0,0 @@
/.idea/
/target/
/*/target/
**.iml
-21
View File
@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2022 Carm
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+15 -193
View File
@@ -1,205 +1,27 @@
```text
______ _____ ____ __
/ ____/___ ________ __ / ___// __ \ / /
/ __/ / __ `/ ___/ / / / \__ \/ / / / / /
/ /___/ /_/ (__ ) /_/ / ___/ / /_/ / / /___
/_____/\__,_/____/\__, / /____/\___\_\/_____/
/____/
```
# EasySQL Repository
# EasySQL
采用github的repo分支进行依赖,随项目发布而自动更新。
[![version](https://img.shields.io/github/v/release/CarmJos/EasySQL)](https://github.com/CarmJos/EasySQL/releases)
[![License](https://img.shields.io/github/license/CarmJos/EasySQL)](https://opensource.org/licenses/GPL-3.0)
[![workflow](https://github.com/CarmJos/EasySQL/actions/workflows/maven.yml/badge.svg?branch=master)](https://github.com/CarmJos/EasySQL/actions/workflows/maven.yml)
[![CodeFactor](https://www.codefactor.io/repository/github/carmjos/easysql/badge)](https://www.codefactor.io/repository/github/carmjos/easysql)
![CodeSize](https://img.shields.io/github/languages/code-size/CarmJos/EasySQL)
![](https://visitor-badge.glitch.me/badge?page_id=EasySQL.readme)
其他依赖方式见主页介绍。
简单便捷的数据库操作工具,可自定义连接池来源。
## 依赖方式
随项目分别提供 [BeeCP](https://github.com/Chris2018998/BeeCP) 与 [Hikari](https://github.com/brettwooldridge/HikariCP~~~~)
两个连接池的版本。
## 优势
- 基于JDBC开发,可自选连接池、JDBC驱动。
- 简单便捷的增删改查接口,无需手写SQL语句。
- 额外提供部分常用情况的SQL操作
- 自动关闭数据流
- 支持同步操作与异步操作
## 开发
详细开发介绍请 [点击这里](.documentation/README.md) , JavaDoc(最新Release) 请 [点击这里](https://carmjos.github.io/EasySQL) 。
### 示例代码
您可以 [点击这里](example/easysql-demo/src/main/java/EasySQLDemo.java) 查看部分代码演示,更多演示详见 [开发介绍](.documentation/README.md) 。
### 依赖方式
#### Maven 依赖
<details>
<summary>远程库配置</summary>
### Maven
```xml
<project>
<repositories>
<repository>
<!--采用github依赖库,安全稳定,但需要配置 (推荐)-->
<id>EasySQL</id>
<name>GitHub Packages</name>
<url>https://maven.pkg.github.com/CarmJos/EasySQL</url>
</repository>
<repository>
<!--采用我的私人依赖库,简单方便,但可能因为变故而无法使用-->
<id>carm-repo</id>
<name>Carm's Repo</name>
<url>https://repo.carm.cc/repository/maven-public/</url>
</repository>
</repositories>
</project>
<repositories>
<repository>
<id>EasySQL</id>
<name>GitHub Branch Repository</name>
<url>https://github.com/CarmJos/EasySQL/blob/repo/</url>
</repository>
</repositories>
```
</details>
<details>
<summary>原生依赖</summary>
```xml
<project>
<dependencies>
<!--对于需要提供公共接口的项目,可以仅打包API部分,方便他人调用-->
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-api</artifactId>
<version>[LATEST RELEASE]</version>
<scope>compile</scope>
</dependency>
<!--如需自定义连接池,则可以仅打包实现部分,自行创建SQLManager-->
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-impl</artifactId>
<version>[LATEST RELEASE]</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
```
</details>
<details>
<summary>含连接池版本</summary>
```xml
<project>
<dependencies>
<!--也可直接选择打包了连接池的版本-->
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-beecp</artifactId>
<version>[LATEST VERSION]</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-hikaricp</artifactId>
<version>[LATEST VERSION]</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
```
</details>
#### Gradle 依赖
<details>
<summary>远程库配置</summary>
### Gradle
```groovy
repositories {
// 采用github依赖库,安全稳定,但需要配置 (推荐)
maven { url 'https://maven.pkg.github.com/CarmJos/EasySQL' }
// 采用我的私人依赖库,简单方便,但可能因为变故而无法使用
maven { url 'https://repo.carm.cc/repository/maven-public/' }
maven { url 'https://github.com/CarmJos/EasySQL/blob/repo/' }
}
```
</details>
<details>
<summary>原生依赖</summary>
```groovy
dependencies {
//对于需要提供公共接口的项目,可以仅打包API部分,方便他人调用
api "cc.carm.lib:easysql-api:[LATEST RELEASE]"
//如需自定义连接池,则可以仅打包实现部分,自行创建SQLManager
api "cc.carm.lib:easysql-impl:[LATEST RELEASE]"
}
```
</details>
<details>
<summary>含连接池版本</summary>
```groovy
dependencies {
//也可直接选择打包了连接池的版本
api "cc.carm.lib:easysql-beecp:[LATEST RELEASE]"
api "cc.carm.lib:easysql-hikaricp:[LATEST RELEASE]"
}
```
</details>
## 支持与捐赠
若您觉得本插件做的不错,您可以通过捐赠支持我!
感谢您对开源项目的支持!
<img height=25% width=25% src="https://raw.githubusercontent.com/CarmJos/CarmJos/main/img/donate-code.jpg" alt=""/>
## 开源协议
本项目源码采用 [The MIT License](https://opensource.org/licenses/MIT) 开源协议。
<details>
<summary>关于 MIT 协议</summary>
> MIT 协议可能是几大开源协议中最宽松的一个,核心条款是:
>
> 该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示。
>
> 这意味着:
> - 你可以自由使用,复制,修改,可以用于自己的项目。
> - 可以免费分发或用来盈利。
> - 唯一的限制是必须包含许可声明。
>
> MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。
>
> *以上文字来自 [五种开源协议GPL,LGPL,BSD,MIT,Apache](https://www.oschina.net/question/54100_9455) 。*
</details>
```
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4TsACgkQh337tzeY
bfdEBAv+IpWEqBosXCAlOHmZQiHn86RpfNCum/AG6Io7f/fidglnRPii83R0wTdR
0wGsDCmnfFUJ8U+aqPpYofin/eYuXHLrVmbZrcdugTuIiRoZPcRr1jEcoPXjVuj2
PzAryNBHnMvfVjE3hrBRqz8tgO8wt+pASPkdr4eodE0t6Ad9UKRE3pJ4Dadq4eqQ
exKxBYkJPiA+O1d38bLgd+GkLa9GjW4DmbtyPXmKt2BND/8QJhbwffdboaRprkyl
jM9kpDwt9N03x+FEOBjR6C/vRCawo/0BcF5Wk3QwptcNg+/0K6FLPhTKY9JhalC6
+D5cUx786piMTQRjunbiiXRp2Vv1WVFBZfCMl77/edTwq68ts2yfhJFl5cjYUqGP
avFJUcdIiPqpySOIBaGG8SnADcWk2TpHI/dnURa/vlXqOJj7ryvyPst3OMZrZDyg
X9lLsXYRT0f2MOGfp9TMjej2yI+ho2xaOP2cVOcuLoTX1S/xqVK4IINUVXxGGq0I
i+D0Bgdq
=y6Y6
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
baea323749589ae57aa84eb8d88b5f47
@@ -0,0 +1 @@
52cc39c8c8e3e5abbddfdfd8b88ded2b81f33c8a
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4ToACgkQh337tzeY
bfdfBAv+J3z4x6JXlKUarpvj9wKHVFlgj+4mlruiXHyMpRXhFdbzSrrDQHXQZp82
IGU/ubWOM3luE18MM0v+J0UjbREvVSrwFHVRctGCckOiJFy6ieQiMyG2/usz8Wcl
7uE2H7EyHK2gau32rC4yvGK2bE7Gh9dQvg9FGRatm+MHpEqCJdkf4LIM0K9JtlX6
zFwhkz6pctn4hQmfi0+F3rGgCfVdtakG1Lgv0wLxJ3jeOaa/GwY4miuS0EQbgn6y
0CyVORCdrBYEvPKDAyCizOhG5vQTyZqqUIWk5krhvFsX5T/QhzOuMyZn0GEE34tb
Xqf9MxDLanMVjbmMJoNrPltdEJU2o+KpLlzS/ksKmrUa4+A+x6ojbktAa9gwhMXT
eFkVvFzP/Ah8mRWd+rf9I0DozUT5GikNJvrMM/wMh5ecIECT01b/oTKUvH6aJLRn
JAJcs+Vm2wHIFzY772IHmyaL2YWuMpjeBakWuI63d9KD6DYARWHbdoHbg/xS5D6s
mI+QB3Zw
=ORtM
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
04f2334d79fd4a74468dba3a116ef033
@@ -0,0 +1 @@
b5fff16b0b091dcf4a649d2e70294bac7d2f2f80
Binary file not shown.
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4ToACgkQh337tzeY
bff4ogv/S6JdIaUGohI8ZbzE0GxUPt2tW+DDw6b/MAvSY56MSfZXMYSXU2CiTMor
zsS4YxY783A8uF2VrV3uep6G2cPjerDqVLkclr3CclP7UIeTpx/NZflAWaLvXmzS
yXAqy9fL6mLAPQmlDqIzVmt+xS0Q5ZKzN/Z3Eq/dQcKhCkLhVDNisEz9xQWIIsFp
QxNLtdBAcozHod9YclJfH/PjwQcBJHmq5Heq1ulAQOz8FlrGqEhT9pnXDTRjEHWT
uQtuQr1lFZCR07aD4Ykvoj58jIkOrWW1h6HxTghGvJralnW808duBWYxZcaDx9E/
VUMjdlQ7AjdADS7ONr15norFNXSz57ubw1VVan6/djfZ2I62unNHZfe2uqhZwC8J
bcQdsBegS9EWnj/ecPHXRXqMOPhTgtoXIm8WW3h6u/zbOnPxDKQKsJrIQwwTrr+X
9f+J56ykJoT/gjm1KhEpXJOobeb3bSZDOJe/wLoXo+4mcqRWu4ZFXacTfRJHbA7p
RIHlC+l/
=TWDQ
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
bf49fdc1ccd87629a4b46b77d8d40777
@@ -0,0 +1 @@
cccfddf8a8b1a56bc9daa95aae2999a2d34755aa
@@ -5,13 +5,13 @@
<parent>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-parent</artifactId>
<version>0.3.3</version>
<version>0.4.7</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>${jdk.version}</maven.compiler.source>
<maven.compiler.target>${jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
@@ -44,14 +44,22 @@
<issueManagement>
<system>GitHub Issues</system>
<url>${project.url}/issues</url>
<url>https://github.com/CarmJos/EasySQL/issues</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>${project.url}/actions/workflows/maven.yml</url>
<url>https://github.com/CarmJos/EasySQL/actions/workflows/maven.yml</url>
</ciManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
@@ -70,10 +78,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
</plugin>
</plugins>
</build>
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4ToACgkQh337tzeY
bfdvNQv+KPzCF72SRCAHt6XxtOkUey9oO6JFtJWkBy/h8ofGrVRwUuwcomCW8wfw
w2XlFXLKrTXj2oisjKWXGD1jwIKmS2nXrFCn2XiU6tyq6d9x4n9BA3od7fyS6QDP
BiG1Vf9h3klhpijBAot4uMDLVtfPlJp+5ZkCNK/AmwHjvja3PI/Ls+neohz+Dwxv
bSIq1dVeaWCaMwnLgkyn2sIzPv/tUC07EsurN+HF5TuTJy7f9WVFxpDJe7LjOBXj
UUW/4wPLz/tTXSObZivdFL/i7zNavQTqFIuCXPmS6wz4fO1382qZCOnmL03+WxE9
UQaPRa9tRW+Ft1bwsb8cFppylXtWBk94CuUux9vlZTIDbpYkKmw4eI7vFi069tUG
y0a5tOx41r1Sg0LC7DpuNES7mOeKzCOkmI8A150JXeoq0tHXyxlPu/CDzNJJHWPU
aYhrCAUR35Qs+KsDI0NHHT4CetnA81bKms9tmvlbovKngb/sRrTGy9s13+7RCpNc
tTwJjZFo
=jF85
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
f53956b9b0d8fc24a4867438cbcd56b5
@@ -0,0 +1 @@
7169aa1fafd3b401fe7892507ee3102d75e5acc3
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-api</artifactId>
<versioning>
<release>0.4.7</release>
<versions>
<version>0.4.7</version>
</versions>
<lastUpdated>20230315151602</lastUpdated>
</versioning>
</metadata>
@@ -0,0 +1 @@
ed01effdd37438850973af46c8b83c3a
@@ -0,0 +1 @@
21ebe62b5d39ea00935d5c53800ed49425bdf845
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UUACgkQh337tzeY
bffcNQv+JMHnQWdldkBEDcfRGWn4LxgM7fY9JpsDdevGtg+jS7FGmINeNDKC08Ll
Yc216FwatElgWG7+InXg7CVUZfmWTCGje+dm6wEQZEIYDgVtZ+t/xZ5GCmY3r72T
Yq4vSliq16zHr3C9TOD71jS0CkyCmvuFfV1c1YPjFwZRV3JI2eyLdIL6sP3h20dC
9Um1hYttBEuczbxaJbxw5fuxg10czLccgvFzLYbhARzg5ORum7UaGbecNWa1MHTy
aQGufwUDx+W9h9YC90c1PYEiGAxDGSdbc8GaF4+id2ekxefjMnGx34DYODy17vdq
I66f/SkQr5Ry0ETGFoIEXYcbxVK1JP+pSKSeWy9EYLEfCEQL1nMtkfLZhGJJD8Rx
RDWU5wBCl/N2hQPqXDMedcQRD3CaHnAnVmouitRFPMsszOfvrlr84SIcPpbGzxkM
+1C0n9ipNqUMX8reRm/Ny6fzsncvdrz+huv9+/as4SHY7PtFtg4REsWtaOsuLIOE
jul+iYdu
=P7Q3
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
9e9fde86918063f650fcfa3e479db37c
@@ -0,0 +1 @@
e475311b2169a097573cd90deec3f76476d35461
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UUACgkQh337tzeY
bffUvwv/UoqhWFreHGNlUcqOxHyRGmwp5HI3crNrZMkYrN33AfX4sS2Z4qTPOjAQ
gnWcyVU+oq/Vl6x+gsO+aA8fEMNjEax728DNl4mJY79tgo7ink0cnOqePJAbqGzq
fY4/+6rsYpAhU+V9HnHyGdQoFbI4O2LN3NRUu+kvw1+PvAehyqDGOhagjufWuPtR
62AuQM8N0rIHW4aOiYdp1VcPlXl0e5pSLEksKnhOUQxrJPff/DDyxXZ5GtougzFd
AqmZwKFYtW7ePA7xcIUiCodE212dGsKA+bdrooBhSVd7xMYhhn0O3FRejd6qufx2
S2HO6xJpNHbxdo+QtZL97zburxH4WMcZlcagHLDVleqwr2Ywn3MIlhOKnSYeIIt2
aKa65oY01o13gdbStZsWvu1My63KNKdPAZdL/Q6n36EUlaxvIX4NismfV4l1zwYc
n0cH/PKJzF1bBop66YYQ73q9E0leJTX87HN1B4XCHhXzZrSwSJkLUazS4S8FmHit
J0lLibXG
=Z6i5
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
3ba40442139ac03bba0e08fcf54975a7
@@ -0,0 +1 @@
4f7a5625063af8b1a57ae7f75244a69c4d148dfa
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UQACgkQh337tzeY
bfdw6wv+IlqUCIEEURElEq1iGSiGpyQCjMtDJ8daIZLXOinZTWYTxi90kW6hbSec
qiJC+Izr9Ijq0lpXSjTFtnBj+ubFiunht6axpCvNsEPxgaOZT2hruJYJcP7M8qcw
5IYcPH749sArG6uWiN28KvA2Gcd5L/TFM1QWcU+muLPK0HcwUKANJbqt8Qd6HXsA
QRfek9f00Ke98UbXUH6q7gSLdSL5rZPpvOb3ngRoR6hgek1Wx+nh3z3jhHfk6kgK
cgzQqAavbdZiZ43RAa0EiQ9139c5AseCqRugGa934iBFhthW3I1ZeXNK9hLAlpyB
qcheh6s7MT5ySNQnC/2L1s2Fcj8uMZSbS7T5z0WKhuqoI9O39H7dBZcBF5981yD9
8/jwfPOZNE57Hzy4UToVnHtJAzYWj0XJ1c1TZf1SmgRBH2AhRBi1K3T5h8fGaco+
PaSg7HL7BRFO4EKGkT1a2m/bc+MuVpolFSG9bmp3rvbCKDHFpowvxOCet0sB/hQp
cAzC+aPT
=VguQ
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
a29290293f9d58737e715895a7530691
@@ -0,0 +1 @@
fc1f9ee5138b302ab29cb3ab7434c713d5e41696
@@ -5,14 +5,14 @@
<parent>
<artifactId>easysql-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>0.3.3</version>
<version>0.4.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>${jdk.version}</maven.compiler.source>
<maven.compiler.target>${jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
@@ -40,17 +40,23 @@
<license>
<name>The MIT License</name>
<url>https://opensource.org/licenses/MIT</url>
<comments>EasySQL的基础源代码采用MIT开源协议。</comments>
</license>
<license>
<name>GNU Lesser General Public License v2.1</name>
<url>https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</url>
<comments>该版本打包了BeeCP,因此相关代码继续遵循LGPL协议。</comments>
</license>
</licenses>
<issueManagement>
<system>GitHub Issues</system>
<url>${project.url}/issues</url>
<url>https://github.com/CarmJos/EasySQL/issues</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>${project.url}/actions/workflows/maven.yml</url>
<url>https://github.com/CarmJos/EasySQL/actions/workflows/maven.yml</url>
</ciManagement>
<dependencies>
@@ -73,7 +79,7 @@
<!--项目地址 https://github.com/Chris2018998/BeeCP -->
<groupId>com.github.chris2018998</groupId>
<artifactId>beecp</artifactId>
<version>3.3.1</version>
<version>3.4.0</version>
<optional>true</optional>
<scope>compile</scope>
</dependency>
@@ -101,7 +107,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
<version>3.4.1</version>
<executions>
<execution>
<phase>package</phase>
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UUACgkQh337tzeY
bfedgwv/fpxnWaRw4Go+AUoFxvM1TT4rM4qYB7xkhs0JoOBjbltw9lDKjwo8ZEX5
ENgkddVh86FtY9I6yLcDhsWs5ryWuXoGV9iHPQfunu0lPkag3q3rP9ZBUHWek/2H
Vn7Dl+o4DIwRBZkQcQgPeD0bLM3QzPz0hc2JFda3sGfQTvrppE4QBfel1/t04og4
K4WfP6dSfRRxtkPURORo6b/oW1JzzqfIs8q/OW+o3xpg39u2gG+/gzj9AME6wwos
iiqjMh0VUCkhjkYrjvty5AcamVfnKi/wkb09Bt+PGKHJMtRanXq9AC4w3+QgNdbF
mPn5RXzvt+LjreO8ATM8hGHKup+1eoxqO9AR0uED8oTHx0GRQkJGMVS/KSlRXRvr
BxvaN+X8cPpAmT+pz2gOa/AdcU21IrpF81/hJGMaAyrwgjfg0PfC5uPbcH/mI3bx
kvCcaTKuYWrO/R7WhsFYHMwGMVdOPR/uENHnCDYs2Q827cQesZY/kVhtf8LNxuMs
MArPSe29
=Lisk
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
06b886006846456247460368fccb29d0
@@ -0,0 +1 @@
f878ef57af4f68bc60fb8eabee3c37d7d2202c1a
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-beecp</artifactId>
<versioning>
<release>0.4.7</release>
<versions>
<version>0.4.7</version>
</versions>
<lastUpdated>20230315151602</lastUpdated>
</versioning>
</metadata>
@@ -0,0 +1 @@
b8fdc0aa7e3c407f3290a1c2e5470e97
@@ -0,0 +1 @@
3b20670ad7051c1de44968818674bf639099a003
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UoACgkQh337tzeY
bff70Qv9Fte5R2qW59TqkVJ+XoqUlz4D7ITZ05lPZums+5VCHyajmR8/ARVo8scC
vV0LbdnEtd8bZoOhuGt0JrAMZiHYFn09XXr8pvbKP/5aIXe3nHnm0f0nYDZeHiJc
weEJcq4Tu8IlVZzc5TVsuGpsAufU33aSdPvlbV6gNGkGFh3DbcDmjzpOWGAFpK+C
p4knA12fU8l0NB1RIlRTbnbAG9/4mGOQ2oa6dpsEidKzoS5gI1JB1f31fmsiEJ/c
dwH7RVz+o77cRmOcOlwhzNXL058lAMkMXF4BcdRH1MSlAGniyk6557FrMdlgu0fm
8H6IjFz85qcQhGU/fim39jTZPo8eEE0ioTmQ8DiqKHUSH0WGx8w0ycoFWtowptly
FMJyBsGNmz59br6inIVv1hzTCwdGoNEY7l5gZuET4T6C75H5Q+zKYmxH2o4QGPhe
5LluNj5EZ4qW/WCyW1Tx0/BqpmY6i66PWzypJvqZswpcbySzQ1NZ4m3xbEf7wUQB
7UbT3Rwl
=lA7G
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
6bf6d1dad3cc645311a377cee092854b
@@ -0,0 +1 @@
555424db5e9c0ef525f866da660fbe04d7cbfd98
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UoACgkQh337tzeY
bfdm6gwArbsV6vmRD07bzKomu3ved6033uSJdpgbdIhH32hnXNFe/R6Cr1iZO1ft
r6uirBUOUOOhy3KFANlu5xK9Bc49BUig7ysxtWybOOrt2CUBDF6Qmu4IMvmlG+rd
RjLf+FUVPqeEv4KuLLi3Cd2FcNliaBE2uKd4Kc4+6avHq9eifpKNgMBg4peN1X5J
iCt/9irFJHR8oe8xqQhihZ5hY+wsRvkjyngKWq7Ua+1fM+Vw7IpmWNjQEB+nEh1F
4UAbktMd1jqM3bGtxYtk3H5fqfh5+WsdZVZHVT5m1uIDV1q9bQQ8HUCvXKxXWcIp
XNAw7903OMhiuW1ZbwrrY0KSDWkKnEyYpYXvb2lQRZWxC6SckA0n3fYxToJbyr2q
bK9RraofunY0PBVt66nSa6Q1VIgyzP/D7gnWHae1+jOG+uMOQw03fDlUPdAjUoPX
b3dUlIj/kFImYya7VxT6fnYiOHmX7/Jm8ZLPOW4setw1wtE9IuIMzqtiJSHL6mOO
JG6DphEN
=JpXU
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
d85f800d68d3c979785cc1c49487f788
@@ -0,0 +1 @@
313014723857ca21c41867a0c7b70089a1e3b0c7
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UkACgkQh337tzeY
bfe9dgwAsxn1rxt7jhC1RVcVuXI4lpmQNbQd85YbfB2DssOlt0Nq1G91dbrZDMHy
s7Z5xwjA0W75PPQaeQUO8k8MhhGyq7PSPHd45ZZQr9FMEMBo6T7pNCzhrelKcOji
1gl2oDmY+IEtCAbcmcVl36YhekzQxiIaUlKXoH8dzyX2DTZ0ESID6jRdPMLHaJVx
h15sD/Ya5oxXrjur178sbJ4Rxc1m6NiJjGJ6ZqzjQcXFYwMHHegPRH/5esbxRjUK
SmM9v/fMfpcsJ0c9IHo3TwZVFw7nnWL8052CrONNOWtkZ8HKV0NF9Wwq/ZH5dCGb
7MGa1hzBEkl+nNK9Y886+JhXnD23JsqNRvJU06Qb/kNqf7/kWNOcshz+XAk9Rl7l
swgj1YPwMR2sp4W85DbzHwoXubQNxx4c9CJ/XhTwTx3M3RnjKwZKQ0135Ice5xJ2
eJpIFOxrzwgYp/bc6QjibKVK9PtkK0pxicGPw0045hy46i3pzZMJHXBiQt13TzW/
xDvIsWyY
=4TQu
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
d74de7f88561cb498a48466a72f863c2
@@ -0,0 +1 @@
d5d103e081c04eb98396345ed85d721d44a2410d
@@ -5,14 +5,14 @@
<parent>
<artifactId>easysql-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>0.3.3</version>
<version>0.4.7</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>${jdk.version}</maven.compiler.source>
<maven.compiler.target>${jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
@@ -39,17 +39,18 @@
<license>
<name>The MIT License</name>
<url>https://opensource.org/licenses/MIT</url>
<comments>EasySQL与HikariCP均采用MIT开源协议。</comments>
</license>
</licenses>
<issueManagement>
<system>GitHub Issues</system>
<url>${project.url}/issues</url>
<url>https://github.com/CarmJos/EasySQL/issues</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>${project.url}/actions/workflows/maven.yml</url>
<url>https://github.com/CarmJos/EasySQL/actions/workflows/maven.yml</url>
</ciManagement>
<dependencies>
@@ -72,6 +73,7 @@
<!--项目地址 https://github.com/brettwooldridge/HikariCP/ -->
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<!--suppress MavenPackageUpdate -->
<version>4.0.3</version>
<optional>true</optional>
<scope>compile</scope>
@@ -100,7 +102,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
<version>3.4.1</version>
<executions>
<execution>
<phase>package</phase>
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UkACgkQh337tzeY
bfej+wwAqjIb6NsJiiCjyz3Fur0dJZoGH+UrxhnC/+MLWAiVWLo70gnu4GiHdm8u
2sPWlYgDaof8DylIqEaRd/TsN+K2dJhGZjdJo+2uKatE77CpPWmZjEt6Jqn8fMaZ
4g72rVYGILZEQb2K6EMVGv0ER9aGvsnNAmWxVKCsxAb/kiEGJRxX4fJeKoX79ThU
HQpY2WjMVGES/NMYNOuoHSxhgjVNc90ujXDRui4i48bB6z/ALoJCIKDIfUI5LUj4
5J5TgN+pJu25voFwAQdh61Fuy2nJfdbxm8oCS3NnUZyCNeJ0m4O2rPj5bgObKUlp
F04LomkuKH1XVDPgcUA8eTJCzg093Al4BkQn5ytURDBb4OHi0JLX9ete9090xZqZ
Fm/YhZ592qeLV8gjXJFfmLOwMOOX2bTJTyCRN0OrBWCDSaiZMOHhKMSkb/e8gt4t
ZDZsUe88cM7zU5+z9I5n5PPCCIklIuCS3yxGQnIgrN9kAvg8Qq3m6AQz22osAouV
fgAdnWIC
=eqhP
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
57fbdd53a3b99b0ff35c95b5d1d0dad9
@@ -0,0 +1 @@
07a7294fa791b01606d08cac0919735e0e5727c6
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-hikaricp</artifactId>
<versioning>
<release>0.4.7</release>
<versions>
<version>0.4.7</version>
</versions>
<lastUpdated>20230315151602</lastUpdated>
</versioning>
</metadata>
@@ -0,0 +1 @@
14f264b4e7769b743496b061688ffd7c
@@ -0,0 +1 @@
6a5b24f98b6babe34bb8decfc71ae3bbaff8d123
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UAACgkQh337tzeY
bfc9iAwArmoWoBxW4NVxkUFS0DCevQIY/NHR/BKpwGVrdxdnyT2yQfH+zqqFs9dF
8cKDRo/RmpEPkaQYKgdnMMMNfEbL9459C56K6Jprsiy6Fbt3ZI53Wva2JfYEnXTU
duUk9nz9ImprvjsS/29QVd+MvMF0snpn7VQTowTx5F3IIBHXUrMBk7NyWTiRBgaK
KrXUFsLIBn5I/sVmd3OOHLpk+iTxhWljG1Yc02I8h+eGIPBZkGkqP9NeA4MdxY1B
XyIMJ1IoVuWBkWj0kE+E5HyO81alrpp55/Mkdvt/RTecm8VLSSoXQ1wPWS6OOgr5
4VH0jyjed4p8Fbkn8JO2KZVqeb/G7NNuPJct34LY59wzZAwoJXTHjdGOY2RdT6DG
qNvheMRBFfX+ch3Ff9pOplD1LLg0V4n8Vop04Az5oqSoMwSYLCYrJddhTHDcrHT1
VP9stHlQ031aYxeis3DxURw7dIAu96AWTEzcSHQImIQpHZlX8q7IGfUtcOo2swOa
n15Zj6cj
=iH4X
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
f074cd83f1148b1e2302e7c42ed5799e
@@ -0,0 +1 @@
ad572173dbfa7d4514e0d5e8487f080af312c573
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4UAACgkQh337tzeY
bfdUUQwAhT50+Zb1yLQzGoa9F/pqserU0/Mp9xKyTDRbYdBTxbM9MzRu8nSiu7R4
zbW3ZtayeERyzp/QPBS6H5Lsv3xnE02K2D2QZfq504Q0oo5m5kqmKzOT/MN0gUET
Fykp8CkeNaaIfKRPeuHeq/EfdXeCdTS8ClBLogc8beP5sj01eaWBxIxNvvhQ7lta
e8XYYdglFLQgghK6BWb4lbF+ElN8qh0N4zQ+7vaB6Hl8l61L8ns8e2ZWRKGbX0kE
EaEcoip4JnAd9IRTrecVpvaZAi0+CwxaWGebpUQFyD/egrCvoJufL6edu0dzfqit
HYyJQDMf9CsvpqDKqj0zILa74XS4+ohsqKbLdeHpt/sdFINX0xzCYl9fJvV2En88
jYWN+9c6Hr7ZExpudspy/UCTW+rCKGOYcUjhZ0NLOc46lth/NQ+Q0o/FV2s/9kO4
H2RtnTUcbLXG+lPNEAXlTmtNAHzHPbyq6BiS1bfy23qGhBecWt7IZGwFy6DqIXB/
d/Yt1mUz
=H36A
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
992e3a7b5024177b91547ef725176268
@@ -0,0 +1 @@
3303f4c7ac15720532211b5e0aefe20f9b9cb775
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4T8ACgkQh337tzeY
bfdt9gv8D8Sgo4+uF1RLIteSjW8HT0Ujc7u++jyLyM0DSvvVvFiuv+rDsKZoqN/N
V0XQbLbtxM4vxCF9T++NIcdZd3R5U2XN/yz9g9c/wWyDFAAXc500hYoYT6vJTNez
bRtpDeiimhnp64+ziLbtF70OYRYA8Y944KxWCPnkwwWPtFIopCVD+kVyDoWkdAlR
3JCPYnHOPX05NWzT2ekoxGO4egFIRh3UbLUORlMGjZQK3JrCEXS6ej7feeCa0hPc
933GI4Labhfu4hrHfnI6/qo2O5y4BgP5eLTP56jj2/MuPQM4wYnmvxGn/cXSgDv2
eDp7dpx4EFu4YERLKcMnzwrln2035RpFYLX/l9Zi0SbuKbiSSEB34CAQ0HISbaTb
9d3UI1TtEZcY2/Pp8xwCmCYy6ycFdQZX5S0xSymqk6eGNAu+lUjYt+Z76hcG8bnL
08D7JrzlZ1xIT3Z0r5ic1bY6KennM2YYj4JnRrEiQYIFqpO36nPNgJXCsIz5WamL
yseKxuYa
=T4sD
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
12e1c1268ac5361ccd2f4f8ba9a13314
@@ -0,0 +1 @@
9e133c36a7ebc778da6a41e9d16637d1bba5c250
@@ -5,13 +5,13 @@
<parent>
<artifactId>easysql-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>0.3.3</version>
<version>0.4.7</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>${jdk.version}</maven.compiler.source>
<maven.compiler.target>${jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
@@ -44,12 +44,12 @@
<issueManagement>
<system>GitHub Issues</system>
<url>${project.url}/issues</url>
<url>https://github.com/CarmJos/EasySQL/issues</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>${project.url}/actions/workflows/maven.yml</url>
<url>https://github.com/CarmJos/EasySQL/actions/workflows/maven.yml</url>
</ciManagement>
<dependencies>
@@ -81,10 +81,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
</plugin>
</plugins>
</build>
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4T8ACgkQh337tzeY
bfc8YgwAhaOSB96ZNeciNMWEHZP/6ekFU5JK+x9AFn3tN8bFa7fijUaPvsv56OS0
vl3tAYWrjIWa6fPrAaYPZbt9OPceLREkAGIRAjmFQcsDbmffSJ3+YZs3ReC5n+26
lvBa1/mR03+IOQT5/JU3J95LuicDXrCDlkMNsaGS4OkKLy2rQ2p3NYUEAE60YS7s
j+I/ACFHPWCmaKIE0PqzYrz/DcgHokdFnTyM45ChwhcwfCtV0t/uwkJekJ7kFhEM
OiTrm0OhQINA0yO+oQFwt628H7HCmCgCdFuBqcKXEQR9uppf2tYhG/EHv2wL32Sj
muf6kf5ftzmFoxFUOmK9OEP+C5HxZgoCDuLNnvH1iAW8ckKTjNzFM73ei1dl5Fn2
hbdBVF5cNfz2xBPw56jjHbaCqoyUpEyBknjvZMiLN4Hgxz86DbT39BK7OpeAVdEp
4qYWJ1cqE8B8HesvpWGe5+G1S6nvc0Pcxy4T1+KbDFj09MF5lfCDjKQXpIlZmqQC
cPU6fSIe
=sKHT
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
e1c9e5c5e02a2bca79d29282cbc0e523
@@ -0,0 +1 @@
010ddbe669d2c44170baa980ccbf304ed1a86d8a
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-impl</artifactId>
<versioning>
<release>0.4.7</release>
<versions>
<version>0.4.7</version>
</versions>
<lastUpdated>20230315151602</lastUpdated>
</versioning>
</metadata>
@@ -0,0 +1 @@
b6ef01abc9f7701773776685ba48e77f
@@ -0,0 +1 @@
d809bc7ef72d0148196f6cfc47c3365c4de3556a
@@ -5,10 +5,13 @@
<modelVersion>4.0.0</modelVersion>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<jdk.version>8</jdk.version>
<maven.compiler.source>${jdk.version}</maven.compiler.source>
<maven.compiler.target>${jdk.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<sonar.organization>carmjos</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
</properties>
@@ -16,22 +19,21 @@
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-parent</artifactId>
<packaging>pom</packaging>
<version>0.3.3</version>
<version>0.4.7</version>
<modules>
<module>easysql-api</module>
<module>easysql-impl</module>
<module>api</module>
<module>impl</module>
<module>with-pool/easysql-beecp</module>
<module>with-pool/easysql-hikaricp</module>
<module>example/easysql-demo</module>
<module>example/easysql-test</module>
<module>with-pool/beecp</module>
<module>with-pool/hikaricp</module>
<module>demo</module>
</modules>
<name>EasySQL</name>
<description>简单便捷的数据库操作工具,可自选连接池。</description>
<url>https://github.com/CarmJos/${project.name}</url>
<url>https://github.com/CarmJos/EasySQL</url>
<developers>
<developer>
@@ -59,12 +61,12 @@
<issueManagement>
<system>GitHub Issues</system>
<url>${project.url}/issues</url>
<url>https://github.com/CarmJos/EasySQL/issues</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>${project.url}/actions/workflows/maven.yml</url>
<url>https://github.com/CarmJos/EasySQL/actions/workflows/maven.yml</url>
</ciManagement>
<repositories>
@@ -94,14 +96,12 @@
</repositories>
<distributionManagement>
<downloadUrl>${project.url}/releases</downloadUrl>
<downloadUrl>https://github.com/CarmJos/EasySQL/releases</downloadUrl>
<site>
<id>easysql-javadoc</id>
<name>EasySQL JavaDoc (on Github Pages)</name>
<url>https://carmjos.github.io/EasySQL</url>
<url>https://CarmJos.github.io/EasySQL</url>
</site>
</distributionManagement>
<dependencies>
@@ -116,7 +116,7 @@
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>22.0.0</version>
<version>24.0.1</version>
<scope>provided</scope>
</dependency>
@@ -133,7 +133,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<version>3.0.1</version>
<executions>
<execution>
<id>sign-artifacts</id>
@@ -169,7 +169,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.1</version>
<version>3.5.0</version>
<configuration>
<classifier>javadoc</classifier>
<detectJavaApiLink>false</detectJavaApiLink>
@@ -196,10 +196,10 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.9.0</version>
<version>3.11.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<encoding>UTF-8</encoding>
<compilerArgument>-parameters</compilerArgument>
</configuration>
@@ -208,13 +208,13 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
<version>3.3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.0</version>
<version>3.2.1</version>
<executions>
<execution>
<phase>package</phase>
@@ -228,7 +228,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
<version>3.4.1</version>
<executions>
<execution>
<phase>package</phase>
@@ -256,7 +256,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<version>3.0.0</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
@@ -302,6 +302,20 @@
</distributionManagement>
</profile>
<profile>
<id>local</id>
<distributionManagement>
<snapshotRepository>
<id>localRepository</id>
<url>file:${user.home}/local-deploy/</url>
</snapshotRepository>
<repository>
<id>localRepository</id>
<url>file:${user.home}/local-deploy/</url>
</repository>
</distributionManagement>
</profile>
</profiles>
</project>
@@ -0,0 +1,14 @@
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEL6NL2WG27xbAlAIkh337tzeYbfcFAmQR4TMACgkQh337tzeY
bfedbwv+KteAko04MxCR1eYWEG1C/5HTPZrzMBljkB0AOB31ZjjCrnT59ePipzpa
84rMWqFmMaSnS+/fFzvQoZ6ANYjVxr5aAYM6d5ddjO0Kf1eeNLWd933RZGL1pfw+
fEKFbcbpienP81BSuIDAdohAGpHVRxdLXSfzxFUelfYb92y1eGOIEfLAVOe3u498
3q1IVFo8FaD1WW7qiDf5EsbnRZrA5wBNR/aQYNMWFmcCoc9Wj9BVT2p0/TQqwoKo
hyL1+ZW8oOrnf76PVzqDfZThea1ht42Nkk1WDZx54GB+72RZ5FhwJJCr/tFrI/ba
QQzMFQNQ2oy0S4fhmah1Li9rJ6r2jbCj8oh7WFNYJTETDq96mMNGoi6NnLj/pePd
GSfVdaKYVIlldaCRXp6fwpxB0GV1XBIaQhseNDwrN6ykERhshQ7U0JT8w+Gaq9Ul
MwkBhZnEPIU1Ypf1xSJv4Q7HeLqn5hg1kpnO91uT4BKk8lXlY5M1OAxslPTb9Bod
KVYgMn4n
=2jcE
-----END PGP SIGNATURE-----
@@ -0,0 +1 @@
7e5947e186b343e8e30a9793a14bbf2f
@@ -0,0 +1 @@
44cc34a8205b6c6cb0a9191df09fe328a55417b9
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-parent</artifactId>
<versioning>
<release>0.4.7</release>
<versions>
<version>0.4.7</version>
</versions>
<lastUpdated>20230315151602</lastUpdated>
</versioning>
</metadata>
@@ -0,0 +1 @@
2d004b7092a59b6a63db7f58db01ebfd
@@ -0,0 +1 @@
f3b09164713d314f6cba05c287e244bef7fb77c0
@@ -1,212 +0,0 @@
package cc.carm.lib.easysql.api;
import cc.carm.lib.easysql.api.function.SQLExceptionHandler;
import cc.carm.lib.easysql.api.function.SQLFunction;
import cc.carm.lib.easysql.api.function.SQLHandler;
import cc.carm.lib.easysql.api.function.defaults.DefaultSQLExceptionHandler;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.sql.SQLException;
import java.util.UUID;
import java.util.logging.Logger;
/**
* SQLAction 是用于承载SQL语句并进行处理、返回的基本类。
*
* <ul>
* <li>同步执行 {@link #execute()}, {@link #execute(SQLFunction, SQLExceptionHandler)}
* <br>同步执行方法中有会抛出异常的方法与不抛出异常的方法,
* <br>若选择不抛出异常,则返回值可能为空,需要特殊处理。</li>
*
* <li>异步执行 {@link #executeAsync(SQLHandler, SQLExceptionHandler)}
* <br>异步执行时将提供成功与异常两种处理方式
* <br>可自行选择是否对数据或异常进行处理
* <br>默认的异常处理器为 {@link #defaultExceptionHandler()}
* <br>若有特殊需要,可通过{@link #setExceptionHandler(SQLExceptionHandler)} 方法修改默认的处理器</li>
* </ul>
*
* @param <T> 需要返回的类型
* @author CarmJos
* @since 0.0.1
*/
public interface SQLAction<T> {
/**
* 得到该Action的UUID
*
* @return UUID
*/
@NotNull UUID getActionUUID();
/**
* 得到短八位格式的UUID
*
* @return UUID(8)
*/
@NotNull String getShortID();
/**
* 得到该Action的创建时间
*
* @return 创建时间
*/
long getCreateTime();
/**
* 得到该Action所要执行的源SQL语句
*
* @return 源SQL语句
*/
@NotNull String getSQLContent();
/**
* 得到承载该Action的对应{@link SQLManager}
*
* @return {@link SQLManager}
*/
@NotNull SQLManager getManager();
/**
* 执行该Action对应的SQL语句
*
* @return 指定数据类型
* @throws SQLException 当SQL操作出现问题时抛出
*/
@NotNull T execute() throws SQLException;
/**
* 执行语句并返回值
*
* @param exceptionHandler 异常处理器 默认为 {@link #defaultExceptionHandler()}
* @return 指定类型数据
*/
@Nullable
default T execute(@Nullable SQLExceptionHandler exceptionHandler) {
return execute(t -> t, exceptionHandler);
}
/**
* 执行语句并处理返回值
*
* @param function 处理方法
* @param exceptionHandler 异常处理器 默认为 {@link #defaultExceptionHandler()}
* @param <R> 需要返回的内容
* @return 指定类型数据
*/
@Nullable
default <R> R execute(@NotNull SQLFunction<T, R> function,
@Nullable SQLExceptionHandler exceptionHandler) {
return execute(function, null, exceptionHandler);
}
/**
* 执行语句并处理返回值
*
* @param function 处理方法
* @param defaultResult 默认结果,若处理后的结果为null,则返回该值
* @param exceptionHandler 异常处理器 默认为 {@link #defaultExceptionHandler()}
* @param <R> 需要返回的内容
* @return 指定类型数据
*/
@Nullable
@Contract("_,!null,_ -> !null")
default <R> R execute(@NotNull SQLFunction<T, R> function,
@Nullable R defaultResult,
@Nullable SQLExceptionHandler exceptionHandler) {
try {
return executeFunction(function, defaultResult);
} catch (SQLException exception) {
handleException(exceptionHandler, exception);
return null;
}
}
/**
* 执行语句并处理返回值
*
* @param function 处理方法
* @param <R> 需要返回的内容
* @return 指定类型数据
* @throws SQLException 当SQL操作出现问题时抛出
*/
@Nullable
default <R> R executeFunction(@NotNull SQLFunction<@NotNull T, R> function) throws SQLException {
return executeFunction(function, null);
}
/**
* 执行语句并处理返回值
*
* @param function 处理方法
* @param defaultResult 默认结果,若处理后的结果为null,则返回该值
* @param <R> 需要返回的内容
* @return 指定类型数据
* @throws SQLException 当SQL操作出现问题时抛出
*/
@Nullable
@Contract("_,!null -> !null")
default <R> R executeFunction(@NotNull SQLFunction<@NotNull T, R> function,
@Nullable R defaultResult) throws SQLException {
try {
R result = function.apply(execute());
return result == null ? defaultResult : result;
} catch (SQLException exception) {
throw new SQLException(exception);
}
}
/**
* 异步执行SQL语句,采用默认异常处理,无需返回值。
*/
default void executeAsync() {
executeAsync(null);
}
/**
* 异步执行SQL语句
*
* @param success 成功时的操作
*/
default void executeAsync(@Nullable SQLHandler<T> success) {
executeAsync(success, null);
}
/**
* 异步执行SQL语句
*
* @param success 成功时的操作
* @param failure 异常处理器 默认为 {@link SQLAction#defaultExceptionHandler()}
*/
void executeAsync(@Nullable SQLHandler<T> success,
@Nullable SQLExceptionHandler failure);
default void handleException(@Nullable SQLExceptionHandler handler, SQLException exception) {
if (handler == null) handler = defaultExceptionHandler();
handler.accept(exception, this);
}
/**
* 默认的异常处理器
*
* @return {@link DefaultSQLExceptionHandler#get(Logger)}
* @see DefaultSQLExceptionHandler
*/
default SQLExceptionHandler defaultExceptionHandler() {
return DefaultSQLExceptionHandler.get(getManager().getLogger());
}
/**
* 设定通用的异常处理器。
* <br> 在使用 {@link #execute(SQLExceptionHandler)} 等相关方法时,若传入的处理器为null,则会采用此处理器。
* <br> 若该方法传入参数为 null,则会使用 {@link #defaultExceptionHandler()} 。
*
* @param handler 异常处理器
*/
default void setExceptionHandler(@Nullable SQLExceptionHandler handler) {
DefaultSQLExceptionHandler.setCustomHandler(handler);
}
}
@@ -1,21 +0,0 @@
package cc.carm.lib.easysql.api;
import org.jetbrains.annotations.NotNull;
/**
* SQLBuilder 是用于构建SQL语句以生成SQLAction执行操作的中间类。
* <br>其连接了{@link SQLManager} 与 {@link SQLAction} ,避免大量的代码堆积
* <br>也是本接口的核心功能所在
*
* @author CarmJos
*/
public interface SQLBuilder {
/**
* 得到承载该Builder的对应{@link SQLManager}
*
* @return {@link SQLManager}
*/
@NotNull SQLManager getManager();
}
@@ -1,175 +0,0 @@
package cc.carm.lib.easysql.api;
import cc.carm.lib.easysql.api.action.PreparedSQLUpdateAction;
import cc.carm.lib.easysql.api.action.PreparedSQLUpdateBatchAction;
import cc.carm.lib.easysql.api.action.SQLUpdateAction;
import cc.carm.lib.easysql.api.action.SQLUpdateBatchAction;
import cc.carm.lib.easysql.api.builder.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.function.Supplier;
import java.util.logging.Logger;
public interface SQLManager {
Logger getLogger();
boolean isDebugMode();
void setDebugMode(@NotNull Supplier<@NotNull Boolean> debugMode);
default void setDebugMode(boolean enable) {
setDebugMode(() -> enable);
}
/**
* 得到连接池源
*
* @return DataSource
*/
@NotNull DataSource getDataSource();
/**
* 得到一个数据库连接实例
*
* @return Connection
* @throws SQLException 见 {@link DataSource#getConnection()}
*/
@NotNull Connection getConnection() throws SQLException;
/**
* 得到正使用的查询。
*
* @return 查询列表
*/
@NotNull Map<UUID, SQLQuery> getActiveQuery();
/**
* 执行一条不需要返回结果的SQL语句(多用于UPDATE、REPLACE、DELETE方法)
* 该方法使用 Statement 实现,请注意SQL注入风险!
*
* @param sql SQL语句内容
* @return 更新的行数
* @see SQLUpdateAction
*/
@Nullable Integer executeSQL(String sql);
/**
* 执行一条不需要返回结果的预处理SQL更改(UPDATE、REPLACE、DELETE)
*
* @param sql SQL语句内容
* @param params SQL语句中 ? 的对应参数
* @return 更新的行数
* @see PreparedSQLUpdateAction
*/
@Nullable Integer executeSQL(String sql, Object[] params);
/**
* 执行多条不需要返回结果的SQL更改(UPDATE、REPLACE、DELETE)
*
* @param sql SQL语句内容
* @param paramsBatch SQL语句中对应?的参数组
* @return 对应参数返回的行数
* @see PreparedSQLUpdateBatchAction
*/
@Nullable List<Integer> executeSQLBatch(String sql, Iterable<Object[]> paramsBatch);
/**
* 执行多条不需要返回结果的SQL。
* 该方法使用 Statement 实现,请注意SQL注入风险!
*
* @param sql SQL语句内容
* @param moreSQL 更多SQL语句内容
* @return 对应参数返回的行数
* @see SQLUpdateBatchAction
*/
@Nullable List<Integer> executeSQLBatch(@NotNull String sql, String... moreSQL);
/**
* 执行多条不需要返回结果的SQL。
*
* @param sqlBatch SQL语句内容
* @return 对应参数返回的行数
*/
@Nullable List<Integer> executeSQLBatch(@NotNull Iterable<String> sqlBatch);
/**
* 在库中创建一个表
*
* @param tableName 表名
* @return {@link TableCreateBuilder}
*/
TableCreateBuilder createTable(@NotNull String tableName);
/**
* 对库中的某个表执行更改
*
* @param tableName 表名
* @return {@link TableAlterBuilder}
*/
TableAlterBuilder alterTable(@NotNull String tableName);
/**
* 新建一个查询
*
* @return {@link QueryBuilder}
*/
QueryBuilder createQuery();
/**
* 创建一条插入操作
*
* @param tableName 目标表名
* @return {@link InsertBuilder}
*/
InsertBuilder<PreparedSQLUpdateAction> createInsert(@NotNull String tableName);
/**
* 创建支持多组数据的插入操作
*
* @param tableName 目标表名
* @return {@link InsertBuilder}
*/
InsertBuilder<PreparedSQLUpdateBatchAction> createInsertBatch(@NotNull String tableName);
/**
* 创建一条替换操作
*
* @param tableName 目标表名
* @return {@link ReplaceBuilder}
*/
ReplaceBuilder<PreparedSQLUpdateAction> createReplace(@NotNull String tableName);
/**
* 创建支持多组数据的替换操作
*
* @param tableName 目标表名
* @return {@link ReplaceBuilder}
*/
ReplaceBuilder<PreparedSQLUpdateBatchAction> createReplaceBatch(@NotNull String tableName);
/**
* 创建更新操作
*
* @param tableName 目标表名
* @return {@link UpdateBuilder}
*/
UpdateBuilder createUpdate(@NotNull String tableName);
/**
* 创建删除操作
*
* @param tableName 目标表名
* @return {@link DeleteBuilder}
*/
DeleteBuilder createDelete(@NotNull String tableName);
}

Some files were not shown because too many files have changed in this diff Show More