From fe78dbbd5719eaf4c497784a50c73b750eda4a5c Mon Sep 17 00:00:00 2001
From: vonchange <80767699@yonghui.cn>
Date: Fri, 21 Oct 2022 09:44:42 +0800
Subject: [PATCH 1/8] =?UTF-8?q?[new]=E5=A4=9A=E6=A8=A1=E5=9D=97=E6=94=B9?=
=?UTF-8?q?=E9=80=A0=E6=88=90=E4=B8=80=E4=B8=AA=E4=BB=93=E5=BA=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 8 ++++++--
spring-data-mybatis-mini/pom.xml | 17 +++++++++++++++++
2 files changed, 23 insertions(+), 2 deletions(-)
create mode 100644 spring-data-mybatis-mini/pom.xml
diff --git a/pom.xml b/pom.xml
index a14c491..23712d3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,8 +4,12 @@
4.0.0
spring-data-mybatis-mini
- 2.3.8
-
+ pom
+ 2.3.8
+
+ spring-data-mybatis-mini
+
+
spring data mybatis mini
spring data jdbc with mybatis template dynamic query
https://github.com/VonChange/spring-data-mybatis-mini
diff --git a/spring-data-mybatis-mini/pom.xml b/spring-data-mybatis-mini/pom.xml
new file mode 100644
index 0000000..2463a42
--- /dev/null
+++ b/spring-data-mybatis-mini/pom.xml
@@ -0,0 +1,17 @@
+
+
+
+ spring-data-mybatis-mini
+ com.vonchange.common
+ 2.3.8
+
+ 4.0.0
+
+ com.vonchange.common
+ spring-data-mybatis-mini
+ 2.3.9
+
+
+
\ No newline at end of file
--
Gitee
From e5c2b08f7a105c98c3d1bd8ba1589a61dbc28315 Mon Sep 17 00:00:00 2001
From: vonchange <80767699@yonghui.cn>
Date: Fri, 21 Oct 2022 10:35:35 +0800
Subject: [PATCH 2/8] =?UTF-8?q?[new]=E5=A4=9A=E6=A8=A1=E5=9D=97=E6=94=B9?=
=?UTF-8?q?=E9=80=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
common-util/pom.xml | 17 ++
mybatis-mini/pom.xml | 40 ++++
mybatis-template/pom.xml | 27 +++
pom.xml | 211 +++++++++++++-----
spring-data-mybatis-mini-test/pom.xml | 155 +++++++++++++
.../src/test/resources/application-dev.yml | 1 +
.../src/test/resources/application-local.yml | 17 ++
.../src/test/resources/application-test.yml | 18 ++
.../src/test/resources/application.yml | 34 +++
.../src/test/resources/db-init.sql | 19 ++
.../src/test/resources/logback-spring.xml | 49 ++++
.../test/resources/sql/UserBaseRepository.md | 160 +++++++++++++
spring-data-mybatis-mini/pom.xml | 73 +++++-
.../main/resources/META-INF/spring.factories | 0
.../config/BindParameterWrapper.java | 54 -----
.../jdbc/repository/config/ConfigInfo.java | 52 -----
.../config/DataSourceWrapperHelper.java | 7 -
.../config/DataSourceWrapperHelperImpl.java | 19 --
.../repository/config/EnableJdbcAuditing.java | 62 -----
.../repository/config/EnableMybatisMini.java | 95 --------
.../config/JdbcAuditingRegistrar.java | 90 --------
.../repository/config/JdbcConfiguration.java | 49 ----
.../config/JdbcRepositoriesRegistrar.java | 48 ----
.../config/JdbcRepositoryConfigExtension.java | 35 ---
.../jdbc/repository/query/BatchUpdate.java | 13 --
.../jdbc/repository/query/DataSourceKey.java | 15 --
.../mini/jdbc/repository/query/Insert.java | 13 --
.../jdbc/repository/query/ReadDataSource.java | 10 -
.../jdbc/repository/query/SqlPackage.java | 15 --
.../mini/jdbc/repository/query/Update.java | 13 --
.../jdbc/repository/support/BaseModel.java | 13 --
.../support/BaseQueryRepository.java | 30 ---
.../repository/support/BaseRepository.java | 77 -------
.../support/JdbcQueryLookupStrategy.java | 80 -------
.../repository/support/JdbcQueryMethod.java | 66 ------
.../support/JdbcRepositoryFactory.java | 110 ---------
.../support/JdbcRepositoryFactoryBean.java | 88 --------
.../support/JdbcRepositoryQuery.java | 171 --------------
.../support/SimpleJdbcRepository.java | 88 --------
.../mini/repository/DataSourceInSql.java | 7 -
.../JdbcRepositorySpringDataImpl.java | 135 -----------
.../mini/repository/ReadDataSources.java | 7 -
42 files changed, 749 insertions(+), 1534 deletions(-)
create mode 100644 common-util/pom.xml
create mode 100644 mybatis-mini/pom.xml
create mode 100644 mybatis-template/pom.xml
create mode 100644 spring-data-mybatis-mini-test/pom.xml
create mode 100644 spring-data-mybatis-mini-test/src/test/resources/application-dev.yml
create mode 100644 spring-data-mybatis-mini-test/src/test/resources/application-local.yml
create mode 100644 spring-data-mybatis-mini-test/src/test/resources/application-test.yml
create mode 100644 spring-data-mybatis-mini-test/src/test/resources/application.yml
create mode 100644 spring-data-mybatis-mini-test/src/test/resources/db-init.sql
create mode 100644 spring-data-mybatis-mini-test/src/test/resources/logback-spring.xml
create mode 100644 spring-data-mybatis-mini-test/src/test/resources/sql/UserBaseRepository.md
rename {src => spring-data-mybatis-mini/src}/main/resources/META-INF/spring.factories (100%)
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/BindParameterWrapper.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/ConfigInfo.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/DataSourceWrapperHelper.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/DataSourceWrapperHelperImpl.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/EnableJdbcAuditing.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/EnableMybatisMini.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcAuditingRegistrar.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcConfiguration.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcRepositoriesRegistrar.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcRepositoryConfigExtension.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/BatchUpdate.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/DataSourceKey.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/Insert.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/ReadDataSource.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/SqlPackage.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/Update.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseModel.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseQueryRepository.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseRepository.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcQueryLookupStrategy.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcQueryMethod.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryFactory.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryFactoryBean.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryQuery.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/SimpleJdbcRepository.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/repository/DataSourceInSql.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/repository/JdbcRepositorySpringDataImpl.java
delete mode 100644 src/main/java/com/vonchange/spring/data/mybatis/mini/repository/ReadDataSources.java
diff --git a/common-util/pom.xml b/common-util/pom.xml
new file mode 100644
index 0000000..2db6d1c
--- /dev/null
+++ b/common-util/pom.xml
@@ -0,0 +1,17 @@
+
+
+
+ mybatis-mini-parant
+ com.vonchange.common
+ 2.3.9
+
+ 4.0.0
+
+ com.vonchange.common
+ common-util
+ 2.3.9
+
+
+
\ No newline at end of file
diff --git a/mybatis-mini/pom.xml b/mybatis-mini/pom.xml
new file mode 100644
index 0000000..9847818
--- /dev/null
+++ b/mybatis-mini/pom.xml
@@ -0,0 +1,40 @@
+
+
+
+ mybatis-mini-parant
+ com.vonchange.common
+ 2.3.9
+
+ 4.0.0
+ mybatis-mini
+ 2.3.9
+
+
+ com.vonchange.common
+ mybatis-template
+ 2.3.9
+
+
+ com.vonchange.common
+ jsqlparser
+ 1.1
+
+
+
+ org.springframework.data
+ spring-data-commons
+ 2.1.5.RELEASE
+ provided
+
+
+ org.springframework
+ spring-jdbc
+ 5.1.5.RELEASE
+ provided
+
+
+
+
+
\ No newline at end of file
diff --git a/mybatis-template/pom.xml b/mybatis-template/pom.xml
new file mode 100644
index 0000000..f2507aa
--- /dev/null
+++ b/mybatis-template/pom.xml
@@ -0,0 +1,27 @@
+
+
+
+ mybatis-mini-parant
+ com.vonchange.common
+ 2.3.9
+
+ 4.0.0
+
+ mybatis-template
+ 2.3.9
+
+
+
+ com.vonchange.common
+ mybati
+ 3.5.2.2
+
+
+ org.hibernate.javax.persistence
+ hibernate-jpa-2.1-api
+ 1.0.0.Final
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 23712d3..c75aec9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,75 +2,162 @@
4.0.0
-
- spring-data-mybatis-mini
+ com.vonchange.common
+ mybatis-mini-parant
pom
- 2.3.8
+ 2.3.9
spring-data-mybatis-mini
+ mybatis-template
+ mybatis-mini
+ common-util
+ spring-data-mybatis-mini-test
- spring data mybatis mini
+ mini parant pom
spring data jdbc with mybatis template dynamic query
https://github.com/VonChange/spring-data-mybatis-mini
-
- com.vonchange.common
- parent-jar
- 1.2
-
-
+
+
+ The Apache Software License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ vonchange
+ vonchange@163.com
+
+
+
+ scm:https://github.com/VonChange
+ scm:https://github.com/VonChange
+ https://github.com/VonChange
+
- 2.1.5.RELEASE
- 5.1.5.RELEASE
- 8.0.15
+ UTF-8
+ UTF-8
+ 1.8
-
-
-
- com.vonchange.common
- mybatis-mini
- 1.8.8
-
-
- org.springframework.data
- spring-data-commons
- ${springdata.commons}
- provided
-
-
- org.springframework
- spring-tx
- ${spring.commons}
- provided
-
-
-
- org.springframework
- spring-context
- ${spring.commons}
- provided
-
-
-
- org.springframework
- spring-beans
- ${spring.commons}
- provided
-
-
-
- org.springframework
- spring-jdbc
- ${spring.commons}
- provided
-
-
-
- org.springframework
- spring-core
- ${spring.commons}
- provided
-
-
-
+
+
+ aliyun-repos
+ Aliyun Repository
+ http://maven.aliyun.com/nexus/content/groups/public
+
+ true
+
+
+ true
+
+
+
+ sonatype-repos
+ Sonatype Repository
+ https://oss.sonatype.org/content/groups/public
+
+ true
+
+
+ true
+
+
+
+ sonatype-repos-s
+ Sonatype Repository
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ true
+
+
+ true
+
+
+
+
+
+ oss
+ https://oss.sonatype.org/content/repositories/snapshots/
+
+
+ oss
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+ ${java.version}
+ ${java.version}
+ UTF-8
+ false
+ -Xlint:unchecked
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 1.5
+
+
+ verify
+
+ sign
+
+
+ gpg
+
+
+ --pinentry-mode
+ loopback
+
+ change2012
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.1.0
+
+
+ attach-sources
+
+ jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.10.3
+
+ true
+ UTF-8
+ UTF-8
+ UTF-8
+
+
+
+ attach-javadocs
+
+ jar
+
+
+ UTF-8
+ -Xdoclint:none
+
+
+
+
+
+
diff --git a/spring-data-mybatis-mini-test/pom.xml b/spring-data-mybatis-mini-test/pom.xml
new file mode 100644
index 0000000..d02f56f
--- /dev/null
+++ b/spring-data-mybatis-mini-test/pom.xml
@@ -0,0 +1,155 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.3.RELEASE
+
+
+ com.vonchange.common
+ spring-data-mybatis-mini-demo
+ 0.0.1-SNAPSHOT
+ spring-data-mybatis-mini-demo
+ spring-data-mybatis-mini-demo 测试
+
+ 2.3.9
+
+ 8.0.15
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-undertow
+
+
+ commons-io
+ commons-io
+ 2.5
+
+
+ org.projectlombok
+ lombok
+ 1.18.6
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.data
+ spring-data-commons
+
+
+ mysql
+ mysql-connector-java
+ 8.0.16
+
+
+ com.vonchange.common
+ spring-data-mybatis-mini
+ ${spring.mybatis.mini}
+
+
+ com.h2database
+ h2
+ 1.4.200
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.apache.ant
+ ant
+ RELEASE
+ compile
+
+
+
+
+
+ aliyun-repos
+ Aliyun Repository
+ http://maven.aliyun.com/nexus/content/groups/public
+
+ true
+
+
+ false
+
+
+
+ sonatype-repos
+ Sonatype Repository
+ https://oss.sonatype.org/content/groups/public
+
+ true
+
+
+ false
+
+
+
+ sonatype-repos-s
+ Sonatype Repository
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+ 1.8
+ 1.8
+ UTF-8
+ false
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ app
+
+
+
diff --git a/spring-data-mybatis-mini-test/src/test/resources/application-dev.yml b/spring-data-mybatis-mini-test/src/test/resources/application-dev.yml
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/spring-data-mybatis-mini-test/src/test/resources/application-dev.yml
@@ -0,0 +1 @@
+
diff --git a/spring-data-mybatis-mini-test/src/test/resources/application-local.yml b/spring-data-mybatis-mini-test/src/test/resources/application-local.yml
new file mode 100644
index 0000000..abcd8af
--- /dev/null
+++ b/spring-data-mybatis-mini-test/src/test/resources/application-local.yml
@@ -0,0 +1,17 @@
+server:
+ port: 9001
+
+mybatis-mini:
+ isReadAllScopeOpen: false
+ logRead: true
+ logWrite: true
+ logFullSql: true
+
+spring:
+ datasource:
+ hikari:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ jdbc-url: jdbc:mysql://127.0.0.1:3306/test_b?autoReconnect=true&rewriteBatchedStatements=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=CTT
+ username: root
+ password: 123456
+#
\ No newline at end of file
diff --git a/spring-data-mybatis-mini-test/src/test/resources/application-test.yml b/spring-data-mybatis-mini-test/src/test/resources/application-test.yml
new file mode 100644
index 0000000..3442483
--- /dev/null
+++ b/spring-data-mybatis-mini-test/src/test/resources/application-test.yml
@@ -0,0 +1,18 @@
+server:
+ port: 9001
+
+
+mybatis-mini:
+ dialect: com.vonchange.nine.demo.config.H2Dialect
+ logRead: true
+ logWrite: true
+ logFullSql: true
+
+spring:
+ datasource:
+ hikari:
+ driver-class-name: org.h2.Driver
+ #jdbc-url: jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
+ jdbc-url: jdbc:h2:mem:db_users;MODE=MYSQL;INIT=RUNSCRIPT FROM './src/test/resources/db-init.sql'
+ username: root
+ password: 123456
diff --git a/spring-data-mybatis-mini-test/src/test/resources/application.yml b/spring-data-mybatis-mini-test/src/test/resources/application.yml
new file mode 100644
index 0000000..b37e085
--- /dev/null
+++ b/spring-data-mybatis-mini-test/src/test/resources/application.yml
@@ -0,0 +1,34 @@
+spring:
+ profiles:
+ active: local
+ application:
+ name: demo
+ datasource:
+ hikari:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ jdbc-url: jdbc:mysql://127.0.0.1:3306/nine_user?autoReconnect=true&rewriteBatchedStatements=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=CTT
+ username: root
+ password: 123456
+ connection-timeout: 20000
+ minimum-idle: 5
+ maximum-pool-size: 500
+ idle-timeout: 60000
+ max-lifetime: 600000
+ leak-detection-threshold: 20000
+ jpa:
+ database: MySQL
+ database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+ show-sql: true
+ hibernate:
+ ddl-auto: none
+
+
+logback:
+ aliyun:
+ endpoint: cn-hangzhou.log.aliyuncs.com
+
+
+
+
+
+
diff --git a/spring-data-mybatis-mini-test/src/test/resources/db-init.sql b/spring-data-mybatis-mini-test/src/test/resources/db-init.sql
new file mode 100644
index 0000000..4e30b84
--- /dev/null
+++ b/spring-data-mybatis-mini-test/src/test/resources/db-init.sql
@@ -0,0 +1,19 @@
+SET MODE=MySQL;
+SET FOREIGN_KEY_CHECKS=0;
+drop table if exists `user_base`;
+CREATE TABLE IF NOT EXISTS `user_base` (
+ `id` bigint(13) NOT NULL AUTO_INCREMENT COMMENT 'id序列,自增',
+ `code` varchar(36) DEFAULT NULL COMMENT '编码',
+ `user_name` varchar(30) DEFAULT NULL COMMENT '用户名',
+ `mobile_phone` varchar(13) DEFAULT NULL COMMENT '手机号',
+ `address` varchar(20) DEFAULT NULL COMMENT 'address',
+ `is_delete` tinyint(1) DEFAULT '0' COMMENT '是否已删除',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ `head_image_data` blob DEFAULT NULL COMMENT '头像',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ insert into user_base(id,code,user_name,mobile_phone,address,create_time) values (1,UUID(),'test','120','xxx',now());
+ insert into user_base(user_name,mobile_phone,address,create_time) values ('李4','110','xxx额',now());
+ insert into user_base(user_name,mobile_phone,address,create_time,update_time) values ('张三日子','911','xxx是啥',now(),now());
+ insert into user_base(user_name,mobile_phone,address,create_time) values ('test','333','ufo',now());
\ No newline at end of file
diff --git a/spring-data-mybatis-mini-test/src/test/resources/logback-spring.xml b/spring-data-mybatis-mini-test/src/test/resources/logback-spring.xml
new file mode 100644
index 0000000..41e98d2
--- /dev/null
+++ b/spring-data-mybatis-mini-test/src/test/resources/logback-spring.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss SSS}|${appDev}|${appName}|%-5level|%ipandhostname|[%thread]| %logger{50}| %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-data-mybatis-mini-test/src/test/resources/sql/UserBaseRepository.md b/spring-data-mybatis-mini-test/src/test/resources/sql/UserBaseRepository.md
new file mode 100644
index 0000000..1ff44fa
--- /dev/null
+++ b/spring-data-mybatis-mini-test/src/test/resources/sql/UserBaseRepository.md
@@ -0,0 +1,160 @@
+> 查询用户列表
+```
+-- findListX
+
+select * from user_base
+where user_name = #{userName}
+and create_time <= #{createTime}
+```
+
+```
+-- findListBase
+select * from user_base where user_name = #{userName}
+```
+
+
+```
+-- findOne
+select * from user_base
+where user_name = #{userName}
+```
+> 查询用户列表 含sql 片段
+
+```
+-- findList
+select * from user_base
+where
+user_name = #{userName}
+[@@and is_delete = isDelete.value]
+[@@and create_time < createTime]
+
+```
+
+```
+-- findListVo
+select * from user_base
+where [@sql findListWhereSql]
+```
+
+```
+-- findListByBean
+select * from user_base
+
+[@@and user_name like param.userName]
+[@and user_name like param.userName%]
+[@and create_time <= param.createTime]
+
+```
+
+
+
+
+> sql 片段
+```
+-- findListWhereSql
+user_name = #{userName} and 1=1
+[@and create_time < createTime]
+```
+
+> 查询用户名 返回1个字段的情况 比如查询行数等
+```
+-- findUserName
+SELECT user_name FROM user_base
+WHERE user_name = #{userName}
+```
+
+
+> 根据Id列表查询列表
+```
+-- findListByIdsx
+SELECT * FROM user_base
+
+ and user_name <> #{userName}
+ and id in #{item}
+ and create_time < #{createTime}
+
+
+```
+
+> [@and create_time < createTime]
+
+> 根据Id列表查询列表 简写if 和in查询 可混用
+```
+-- findListByIds
+SELECT * FROM user_base
+
+[@@and id in #{idList:in} and user_name like #{userName:like}]
+[@and user_name like userName%]
+[@and id in idList]
+ and create_time < #{createTime}
+
+```
+
+> 更新方法 update 开头
+
+```
+-- updateIsDelete
+update user_base set is_delete = #{isDelete} where id =#{id}
+```
+
+```
+-- batchUpdate
+update user_base set is_delete = IFNULL(#{isDelete},is_delete),user_name =#{userName} where id =#{id}
+```
+
+
+```
+-- batchInsert
+insert into user_base(`user_name`,`mobile_phone`,create_time) values
+(#{userName},#{mobilePhone},#{createTime})
+```
+
+```
+-- updateTest
+
+insert into user_base(`user_name`,`mobile_phone`) values (#{item.userName},#{item.firstPhone});
+
+
+```
+
+```
+-- insertBatchNormal
+insert into user_base(`user_name`,`mobile_phone`,create_time) values
+
+(#{item.userName},#{item.mobilePhone},#{item.createTime})
+
+
+```
+
+```
+-- insertBatchNormalX
+insert into user_base(`id`,`code`,`user_name`,`mobile_phone`,`is_delete`,`create_time`,`update_time`,`head_image_data`) values
+
+(IFNULL(#{item.id},`id`),IFNULL(#{item.code},`code`),IFNULL(#{item.userName},`user_name`),IFNULL(#{item.mobilePhone},`mobile_phone`)
+,IFNULL(#{item.isDelete},`is_delete`),IFNULL(#{item.createTime},now()),IFNULL(#{item.updateTime},now()),IFNULL(#{item.headImageData},`head_image_data`))
+
+```
+
+
+```
+-- findBigData
+select * from user_base
+
+[@and user_name like userName]
+
+```
+
+
+```
+-- findLongList
+select id from user_base
+```
+
+```
+-- findInList
+
+select * from user_base
+where 1=1
+[@@and user_name in userNames]
+[@@and is_delete in isDeletes]
+```
\ No newline at end of file
diff --git a/spring-data-mybatis-mini/pom.xml b/spring-data-mybatis-mini/pom.xml
index 2463a42..b9539cb 100644
--- a/spring-data-mybatis-mini/pom.xml
+++ b/spring-data-mybatis-mini/pom.xml
@@ -1,17 +1,70 @@
-
-
+
+
+
+ 4.0.0
- spring-data-mybatis-mini
+ mybatis-mini-parant
com.vonchange.common
- 2.3.8
+ 2.3.9
- 4.0.0
-
- com.vonchange.common
spring-data-mybatis-mini
2.3.9
+
+ spring data mybatis mini
+ spring data jdbc with mybatis template dynamic query
+ https://github.com/VonChange/spring-data-mybatis-mini
+
+ 2.1.5.RELEASE
+ 5.1.5.RELEASE
+ 8.0.15
+
+
+
+
+ com.vonchange.common
+ mybatis-mini
+ 2.3.9
+
+
+ org.springframework.data
+ spring-data-commons
+ ${springdata.commons}
+ provided
+
+
+ org.springframework
+ spring-tx
+ ${spring.commons}
+ provided
+
+
+
+ org.springframework
+ spring-context
+ ${spring.commons}
+ provided
+
+
+
+ org.springframework
+ spring-beans
+ ${spring.commons}
+ provided
+
+
+
+ org.springframework
+ spring-jdbc
+ ${spring.commons}
+ provided
+
+
+ org.springframework
+ spring-core
+ ${spring.commons}
+ provided
+
+
-
\ No newline at end of file
+
diff --git a/src/main/resources/META-INF/spring.factories b/spring-data-mybatis-mini/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from src/main/resources/META-INF/spring.factories
rename to spring-data-mybatis-mini/src/main/resources/META-INF/spring.factories
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/BindParameterWrapper.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/BindParameterWrapper.java
deleted file mode 100644
index e7607f9..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/BindParameterWrapper.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import com.vonchange.jdbc.abstractjdbc.handler.AbstractPageWork;
-import org.springframework.data.domain.Pageable;
-
-import java.util.Map;
-
-public class BindParameterWrapper {
- private Pageable pageable;
- private AbstractPageWork abstractPageWork;
- private Class> abstractPageWorkClass;
- private Map parameter;
- private Object firstParam;
-
- public Object getFirstParam() {
- return firstParam;
- }
-
- public void setFirstParam(Object firstParam) {
- this.firstParam = firstParam;
- }
-
- public AbstractPageWork getAbstractPageWork() {
- return abstractPageWork;
- }
-
- public void setAbstractPageWork(AbstractPageWork abstractPageWork) {
- this.abstractPageWork = abstractPageWork;
- }
-
- public Pageable getPageable() {
- return pageable;
- }
-
- public void setPageable(Pageable pageable) {
- this.pageable = pageable;
- }
-
- public Map getParameter() {
- return parameter;
- }
-
- public void setParameter(Map parameter) {
- this.parameter = parameter;
- }
-
- public Class> getAbstractPageWorkClass() {
- return abstractPageWorkClass;
- }
-
- public void setAbstractPageWorkClass(Class> abstractPageWorkClass) {
- this.abstractPageWorkClass = abstractPageWorkClass;
- }
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/ConfigInfo.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/ConfigInfo.java
deleted file mode 100644
index 61c9ee2..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/ConfigInfo.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import com.vonchange.jdbc.abstractjdbc.model.DataSourceWrapper;
-
-public class ConfigInfo {
- private String location;
- private String method;
- private Class> type;
- private String repositoryName;
- private DataSourceWrapper dataSourceWrapper;
-
-
- public String getRepositoryName() {
- return repositoryName;
- }
-
- public DataSourceWrapper getDataSourceWrapper() {
- return dataSourceWrapper;
- }
-
- public void setDataSourceWrapper(DataSourceWrapper dataSourceWrapper) {
- this.dataSourceWrapper = dataSourceWrapper;
- }
-
- public void setRepositoryName(String repositoryName) {
- this.repositoryName = repositoryName;
- }
-
- public String getLocation() {
- return location;
- }
-
- public void setLocation(String location) {
- this.location = location;
- }
-
- public String getMethod() {
- return method;
- }
-
- public void setMethod(String method) {
- this.method = method;
- }
-
- public Class> getType() {
- return type;
- }
-
- public void setType(Class> type) {
- this.type = type;
- }
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/DataSourceWrapperHelper.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/DataSourceWrapperHelper.java
deleted file mode 100644
index 2c11379..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/DataSourceWrapperHelper.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import com.vonchange.jdbc.abstractjdbc.model.DataSourceWrapper;
-
-public interface DataSourceWrapperHelper {
- DataSourceWrapper getDataSourceWrapperByKey(String key);
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/DataSourceWrapperHelperImpl.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/DataSourceWrapperHelperImpl.java
deleted file mode 100644
index 7de6340..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/DataSourceWrapperHelperImpl.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import com.vonchange.jdbc.abstractjdbc.model.DataSourceWrapper;
-
-public class DataSourceWrapperHelperImpl implements DataSourceWrapperHelper{
- private DataSourceWrapper[] dataSourceWrappers;
- public DataSourceWrapperHelperImpl(DataSourceWrapper... dataSourceWrappers){
- this.dataSourceWrappers=dataSourceWrappers;
- }
- @Override
- public DataSourceWrapper getDataSourceWrapperByKey(String key){
- for (DataSourceWrapper dataSourceWrapper: dataSourceWrappers) {
- if(key.equals(dataSourceWrapper.getKey())){
- return dataSourceWrapper;
- }
- }
- return null;
- }
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/EnableJdbcAuditing.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/EnableJdbcAuditing.java
deleted file mode 100644
index c2a8b10..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/EnableJdbcAuditing.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2018-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import org.springframework.context.annotation.Import;
-import org.springframework.data.auditing.DateTimeProvider;
-import org.springframework.data.domain.AuditorAware;
-
-import java.lang.annotation.*;
-
-/**
- * Annotation to enable auditing in JDBC via annotation configuration.
- *
- *
- * @author Kazuki Shimizu
- */
-@Inherited
-@Documented
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Import(JdbcAuditingRegistrar.class)
-public @interface EnableJdbcAuditing {
-
- /**
- * Configures the {@link AuditorAware} bean to be used to lookup the current principal.
- *
- * @see AuditorAware
- */
- String auditorAwareRef() default "";
-
- /**
- * Configures whether the creation and modification dates are set.
- */
- boolean setDates() default true;
-
- /**
- * Configures whether the entity shall be marked as modified on creation.
- */
- boolean modifyOnCreate() default true;
-
- /**
- * Configures a {@link DateTimeProvider} bean name that allows customizing the {@link java.time.LocalDateTime} to be
- * used for setting creation and modification dates.
- *
- * @see DateTimeProvider
- */
- String dateTimeProviderRef() default "";
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/EnableMybatisMini.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/EnableMybatisMini.java
deleted file mode 100644
index d8f346f..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/EnableMybatisMini.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2017-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import org.springframework.beans.factory.FactoryBean;
-import org.springframework.context.annotation.ComponentScan.Filter;
-import org.springframework.context.annotation.Import;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.support.JdbcRepositoryFactoryBean;
-
-import java.lang.annotation.*;
-
-/**
- * Annotation to enable JDBC repositories. Will scan the package of the annotated configuration class for Spring Data
- * repositories by default.
- *
- * @author Jens Schauder
- * @author Greg Turnquist
- * @author Mark Paluch
- * @see JdbcConfiguration
- */
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Inherited
-@Import(JdbcRepositoriesRegistrar.class)
-public @interface EnableMybatisMini {
-
- /**
- * Alias for the {@link #basePackages()} attribute. Allows for more concise annotation declarations e.g.:
- * {@code @EnableJdbcRepositories("org.my.pkg")} instead of {@code @EnableJdbcRepositories(basePackages="org.my.pkg")}.
- */
- String[] value() default {};
-
- /**
- * Base packages to scan for annotated components. {@link #value()} is an alias for (and mutually exclusive with) this
- * attribute. Use {@link #basePackageClasses()} for a type-safe alternative to String-based package names.
- */
- String[] basePackages() default {};
-
- /**
- * Type-safe alternative to {@link #basePackages()} for specifying the packages to scan for annotated components. The
- * package of each class specified will be scanned. Consider creating a special no-op marker class or interface in
- * each package that serves no purpose other than being referenced by this attribute.
- */
- Class>[] basePackageClasses() default {};
-
- /**
- * Specifies which types are eligible for component scanning. Further narrows the set of candidate components from
- * everything in {@link #basePackages()} to everything in the base packages that matches the given filter or filters.
- */
- Filter[] includeFilters() default {};
-
- /**
- * Specifies which types are not eligible for component scanning.
- */
- Filter[] excludeFilters() default {};
-
- /**
- * Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the
- * repositories infrastructure.
- */
- boolean considerNestedRepositories() default false;
-
- /**
- * Returns the {@link FactoryBean} class to be used for each repository instance. Defaults to
- * {@link JdbcRepositoryFactoryBean}.
- */
- Class> repositoryFactoryBeanClass() default JdbcRepositoryFactoryBean.class;
-
- /**
- * Configures the location of where to find the Spring Data named queries properties file. Will default to
- * {@code META-INF/jdbc-named-queries.properties}.
- */
- String namedQueriesLocation() default "";
-
- /**
- * Returns the postfix to be used when looking up custom repository implementations. Defaults to {@literal Impl}. So
- * for a repository named {@code PersonRepository} the corresponding implementation class will be looked up scanning
- * for {@code PersonRepositoryImpl}.
- */
- String repositoryImplementationPostfix() default "Impl";
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcAuditingRegistrar.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcAuditingRegistrar.java
deleted file mode 100644
index 8f53be6..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcAuditingRegistrar.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright 2018-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
-import org.springframework.data.auditing.IsNewAwareAuditingHandler;
-import org.springframework.data.auditing.config.AuditingBeanDefinitionRegistrarSupport;
-import org.springframework.data.auditing.config.AuditingConfiguration;
-import org.springframework.util.Assert;
-
-import java.lang.annotation.Annotation;
-
-/**
- * {@link ImportBeanDefinitionRegistrar} which registers additional beans in order to enable auditing via the
- * {@link EnableJdbcAuditing} annotation.
- *
- * @see EnableJdbcAuditing
- * @author Kazuki Shimizu
- * @author Jens Schauder
- */
-class JdbcAuditingRegistrar extends AuditingBeanDefinitionRegistrarSupport {
-
- private static final String AUDITING_HANDLER_BEAN_NAME = "jdbcAuditingHandler";
- private static final String JDBC_MAPPING_CONTEXT_BEAN_NAME = "jdbcMappingContext";
-
- /**
- * {@inheritDoc}
- *
- * @return return the {@link EnableJdbcAuditing}
- * @see AuditingBeanDefinitionRegistrarSupport#getAnnotation()
- */
- @Override
- protected Class extends Annotation> getAnnotation() {
- return EnableJdbcAuditing.class;
- }
-
- /**
- * {@inheritDoc}
- *
- * @return return "{@literal jdbcAuditingHandler}"
- * @see AuditingBeanDefinitionRegistrarSupport#getAuditingHandlerBeanName()
- */
- @Override
- protected String getAuditingHandlerBeanName() {
- return AUDITING_HANDLER_BEAN_NAME;
- }
-
- /*
- * (non-Javadoc)
- * @see org.springframework.data.auditing.config.AuditingBeanDefinitionRegistrarSupport#getAuditHandlerBeanDefinitionBuilder(org.springframework.data.auditing.config.AuditingConfiguration)
- */
- @Override
- protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingConfiguration configuration) {
-
- Assert.notNull(configuration, "AuditingConfiguration must not be null!");
-
- BeanDefinitionBuilder builder = configureDefaultAuditHandlerAttributes(configuration,
- BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class));
- return builder.addConstructorArgReference(JDBC_MAPPING_CONTEXT_BEAN_NAME);
- }
-
- /**
- * Register the bean definition of{@inheritDoc}
- *
- * @see AuditingBeanDefinitionRegistrarSupport#registerAuditListenerBeanDefinition(BeanDefinition,
- * BeanDefinitionRegistry)
- */
- @Override
- protected void registerAuditListenerBeanDefinition(BeanDefinition auditingHandlerDefinition,
- BeanDefinitionRegistry registry) {
-
- }
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcConfiguration.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcConfiguration.java
deleted file mode 100644
index 010f2fd..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcConfiguration.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2017-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-
-import com.vonchange.jdbc.abstractjdbc.core.JdbcRepository;
-import com.vonchange.jdbc.abstractjdbc.model.DataSourceWrapper;
-import com.vonchange.spring.data.mybatis.mini.repository.JdbcRepositorySpringDataImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import javax.sql.DataSource;
-
-/**
- * Beans that must be registered for Spring Data JDBC to work.
- *
- * @author Greg Turnquist
- * @author Jens Schauder
- * @author Mark Paluch
- * @author Michael Simons
- * @author Christoph Strobl
- */
-@Configuration
-public class JdbcConfiguration {
-
-
- @Bean(name = "jdbcRepository")
- public JdbcRepository initJdbcRepository(DataSource... dataSource){
- return new JdbcRepositorySpringDataImpl(dataSource);
- }
- @Bean
- public DataSourceWrapperHelper initDataSourceWrapperHelper(@Autowired(required = false)DataSourceWrapper... dataSourceWrapper){
- return new DataSourceWrapperHelperImpl(dataSourceWrapper);
- }
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcRepositoriesRegistrar.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcRepositoriesRegistrar.java
deleted file mode 100644
index bf8b8c7..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcRepositoriesRegistrar.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2017-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
-import org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport;
-import org.springframework.data.repository.config.RepositoryConfigurationExtension;
-
-import java.lang.annotation.Annotation;
-
-/**
- * {@link ImportBeanDefinitionRegistrar} to enable {@link EnableMybatisMini} annotation.
- *
- * @author Jens Schauder
- */
-class JdbcRepositoriesRegistrar extends RepositoryBeanDefinitionRegistrarSupport {
-
- /*
- * (non-Javadoc)
- * @see org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport#getAnnotation()
- */
- @Override
- protected Class extends Annotation> getAnnotation() {
- return EnableMybatisMini.class;
- }
-
- /*
- * (non-Javadoc)
- * @see org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport#getExtension()
- */
- @Override
- protected RepositoryConfigurationExtension getExtension() {
- return new JdbcRepositoryConfigExtension();
- }
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcRepositoryConfigExtension.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcRepositoryConfigExtension.java
deleted file mode 100644
index b503d91..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/config/JdbcRepositoryConfigExtension.java
+++ /dev/null
@@ -1,35 +0,0 @@
-
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.config;
-
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.support.JdbcRepositoryFactoryBean;
-import org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport;
-
-import java.util.Locale;
-
-
-
-
-public class JdbcRepositoryConfigExtension extends RepositoryConfigurationExtensionSupport {
-
-
-
- @Override
- public String getModuleName() {
- return "JDBC";
- }
-
- public String getRepositoryFactoryClassName() {
- return JdbcRepositoryFactoryBean.class.getName();
- }
-
- public String getRepositoryFactoryBeanClassName() {
- return JdbcRepositoryFactoryBean.class.getName();
- }
-
- @Override
- protected String getModulePrefix() {
- return getModuleName().toLowerCase(Locale.US);
- }
-
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/BatchUpdate.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/BatchUpdate.java
deleted file mode 100644
index 5b35e63..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/BatchUpdate.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.query;
-
-import java.lang.annotation.*;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
-@Documented
-public @interface BatchUpdate {
- /**
- * Batch Size
- */
- int size() default 5000;
-}
\ No newline at end of file
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/DataSourceKey.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/DataSourceKey.java
deleted file mode 100644
index fe800d8..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/DataSourceKey.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.query;
-
-import java.lang.annotation.*;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Documented
-@Inherited
-public @interface DataSourceKey {
-
- /**
- * 数据源key
- */
- String value() default "";
-}
\ No newline at end of file
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/Insert.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/Insert.java
deleted file mode 100644
index a2175bd..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/Insert.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.query;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
-@Documented
-public @interface Insert {
-}
\ No newline at end of file
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/ReadDataSource.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/ReadDataSource.java
deleted file mode 100644
index b02c375..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/ReadDataSource.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.query;
-
-import java.lang.annotation.*;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
-@Documented
-public @interface ReadDataSource {
-
-}
\ No newline at end of file
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/SqlPackage.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/SqlPackage.java
deleted file mode 100644
index 69310ac..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/SqlPackage.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.query;
-
-import java.lang.annotation.*;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-@Documented
-@Inherited
-public @interface SqlPackage {
-
- /**
- * sql package location
- */
- String value() default "";
-}
\ No newline at end of file
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/Update.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/Update.java
deleted file mode 100644
index 7b2401e..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/query/Update.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.query;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
-@Documented
-public @interface Update {
-}
\ No newline at end of file
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseModel.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseModel.java
deleted file mode 100644
index bff2ef9..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseModel.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.support;
-
-public class BaseModel {
- private Long id;
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseQueryRepository.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseQueryRepository.java
deleted file mode 100644
index bc3e309..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseQueryRepository.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2008-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.support;
-
-import org.springframework.data.repository.NoRepositoryBean;
-import org.springframework.data.repository.Repository;
-
-/**
- * Interface for generic CRUD operations on a repository for a specific type.
- *
- * @author Oliver Gierke
- * @author Eberhard Wolff
- */
-@NoRepositoryBean
-public interface BaseQueryRepository extends Repository {
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseRepository.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseRepository.java
deleted file mode 100644
index ca3d7e4..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/BaseRepository.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2008-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.support;
-
-import org.springframework.data.repository.NoRepositoryBean;
-import org.springframework.data.repository.Repository;
-
-import java.util.List;
-
-/**
- * Interface for generic CRUD operations on a repository for a specific type.
- *
- * @author Oliver Gierke
- * @author Eberhard Wolff
- */
-@NoRepositoryBean
-public interface BaseRepository extends Repository {
-
- /**
- * Saves a given entity. Use the returned instance for further operations as the save operation might have changed the
- * entity instance completely.
- *
- * @param entity must not be {@literal null}.
- * @return the saved entity; will never be {@literal null}.
- * @throws IllegalArgumentException in case the given {@literal entity} is {@literal null}.
- */
- int insert(S entity);
-
- int insertBatch(List entitys,int batchSize);
-
- int insertBatchDuplicateKey(List entitys,int batchSize);
-
- int updateBatch(List entitys,int batchSize);
-
- /**
- * insert into on duplication key
- * @param entity
- * @param
- */
- int insertDuplicateKey(S entity);
-
- /**
- * 默认只更新不为空的字段
- * @param entity
- * @param
- */
- int update(S entity);
-
- /**
- * 更新所有字段
- * @param entity
- * @param
- */
- int updateAllField(S entity);
- /**
- * Retrieves an entity by its id.
- *
- * @param id must not be {@literal null}.
- * @return the entity with the given id or {@literal Optional#empty()} if none found.
- * @throws IllegalArgumentException if {@literal id} is {@literal null}.
- */
- T findById(ID id);
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcQueryLookupStrategy.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcQueryLookupStrategy.java
deleted file mode 100644
index f84d61b..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcQueryLookupStrategy.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2018-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.support;
-
-import com.vonchange.jdbc.abstractjdbc.core.JdbcRepository;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.config.ConfigInfo;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.config.DataSourceWrapperHelper;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.query.DataSourceKey;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.query.SqlPackage;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.data.projection.ProjectionFactory;
-import org.springframework.data.repository.core.NamedQueries;
-import org.springframework.data.repository.core.RepositoryMetadata;
-import org.springframework.data.repository.query.QueryLookupStrategy;
-import org.springframework.data.repository.query.RepositoryQuery;
-import org.springframework.util.Assert;
-
-import java.lang.reflect.Method;
-
-/**
- * {@link QueryLookupStrategy} for JDBC repositories. Currently only supports annotated queries.
- *
- * @author Jens Schauder
- * @author Kazuki Shimizu
- * @author Oliver Gierke
- * @author Mark Paluch
- * @author Maciej Walkowiak
- */
-class JdbcQueryLookupStrategy implements QueryLookupStrategy {
-
- private final JdbcRepository operations;
- private final DataSourceWrapperHelper dataSourceWrapperHelper;
-
- /**
- * Creates a new {@link JdbcQueryLookupStrategy} for the given
- *
- */
- JdbcQueryLookupStrategy(@Qualifier("jdbcRepository")JdbcRepository operations, DataSourceWrapperHelper dataSourceWrapperHelper) {
-
- Assert.notNull(operations, "operations must not be null!");
- this.operations = operations;
- this.dataSourceWrapperHelper=dataSourceWrapperHelper;
- }
-
- /*
- * (non-Javadoc)
- * @see org.springframework.data.repository.query.QueryLookupStrategy#resolveQuery(java.lang.reflect.Method, org.springframework.data.repository.core.RepositoryMetadata, org.springframework.data.projection.ProjectionFactory, org.springframework.data.repository.core.NamedQueries)
- */
- @Override
- public RepositoryQuery resolveQuery(Method method, RepositoryMetadata repositoryMetadata,
- ProjectionFactory projectionFactory, NamedQueries namedQueries) {
- String interfaceName =repositoryMetadata.getRepositoryInterface().getSimpleName();
- SqlPackage sqlPackage= repositoryMetadata.getRepositoryInterface().getAnnotation(SqlPackage.class);
- DataSourceKey dataSourceKey= repositoryMetadata.getRepositoryInterface().getAnnotation(DataSourceKey.class);
- String configLoc=null!=sqlPackage?sqlPackage.value()+"."+interfaceName:"sql."+interfaceName;
- String dataSourceKeyValue=null!=dataSourceKey?dataSourceKey.value():null;
- JdbcQueryMethod queryMethod = new JdbcQueryMethod(method, repositoryMetadata, projectionFactory);
- ConfigInfo configInfo= new ConfigInfo();
- configInfo.setMethod(method.getName());
- configInfo.setLocation(configLoc);
- configInfo.setRepositoryName(interfaceName);
- configInfo.setType(repositoryMetadata.getDomainType());
- configInfo.setDataSourceWrapper(null!=dataSourceKeyValue?dataSourceWrapperHelper.getDataSourceWrapperByKey(dataSourceKeyValue):null);
- return new JdbcRepositoryQuery(queryMethod, operations,configInfo);
- }
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcQueryMethod.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcQueryMethod.java
deleted file mode 100644
index a4f7e3a..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcQueryMethod.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2018-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.support;
-
-
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.query.BatchUpdate;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.query.Insert;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.query.ReadDataSource;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.query.Update;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.data.projection.ProjectionFactory;
-import org.springframework.data.repository.core.RepositoryMetadata;
-import org.springframework.data.repository.query.QueryMethod;
-
-import java.lang.reflect.Method;
-
-/**
- * {QueryMethod} implementation that implements a method by executing the query from a { Query} annotation on
- * that method. Binds method arguments to named parameters in the SQL statement.
- *
- * @author Jens Schauder
- * @author Kazuki Shimizu
- */
-public class JdbcQueryMethod extends QueryMethod {
-
- private final Method method;
-
- public JdbcQueryMethod(Method method, RepositoryMetadata metadata, ProjectionFactory factory) {
- super(method, metadata, factory);
- this.method = method;
- }
- public boolean isReadDataSource() {
- return AnnotationUtils.findAnnotation(method, ReadDataSource.class) != null;
- }
-
- public boolean isBatchUpdate() {
- return AnnotationUtils.findAnnotation(method, BatchUpdate.class) != null;
- }
-
- public int getBatchSize() {
- return AnnotationUtils.findAnnotation(method, BatchUpdate.class).size();
- }
-
-
- public boolean isUpdateQuery() {
- return AnnotationUtils.findAnnotation(method, Update.class) != null;
- }
- public boolean isInsertQuery() {
- return AnnotationUtils.findAnnotation(method, Insert.class) != null;
- }
-
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryFactory.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryFactory.java
deleted file mode 100644
index b3ba7c0..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryFactory.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2017-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.support;
-
-import com.vonchange.jdbc.abstractjdbc.core.JdbcRepository;
-import com.vonchange.jdbc.abstractjdbc.util.markdown.MarkdownUtil;
-import com.vonchange.mybatis.tpl.EntityUtil;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.config.ConfigInfo;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.config.DataSourceWrapperHelper;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.query.DataSourceKey;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.query.SqlPackage;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.ApplicationEventPublisher;
-import org.springframework.data.repository.core.EntityInformation;
-import org.springframework.data.repository.core.RepositoryInformation;
-import org.springframework.data.repository.core.RepositoryMetadata;
-import org.springframework.data.repository.core.support.RepositoryFactorySupport;
-import org.springframework.data.repository.query.QueryLookupStrategy;
-import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
-
-import java.util.Optional;
-
-/**
- * Creates repository implementation based on JDBC.
- *
- * @author Jens Schauder
- * @author Greg Turnquist
- * @author Christoph Strobl
- * @author Mark Paluch
- */
-public class JdbcRepositoryFactory extends RepositoryFactorySupport {
-
-
- private final JdbcRepository operations;
- private final DataSourceWrapperHelper dataSourceWrapperHelper;
-
- /**
- *
- * and {@link ApplicationEventPublisher}.
- *
- * @param operations must not be {@literal null}.
- */
- public JdbcRepositoryFactory(@Qualifier("jdbcRepository")JdbcRepository operations, DataSourceWrapperHelper dataSourceWrapperHelper) {
- this.operations = operations;
- this.dataSourceWrapperHelper=dataSourceWrapperHelper;
- }
-
-
- @Override
- public EntityInformation getEntityInformation(Class aClass) {
- return null;
- }
- /*
- * (non-Javadoc)
- * @see org.springframework.data.repository.core.support.RepositoryFactorySupport#getTargetRepository(org.springframework.data.repository.core.RepositoryInformation)
- */
- @Override
- protected Object getTargetRepository(RepositoryInformation repositoryInformation) {
- Class> domainType =repositoryInformation.getDomainType();
- if(!domainType.equals(BaseModel.class)){
- EntityUtil.initEntityInfo(domainType);
- }
- String interfaceName =repositoryInformation.getRepositoryInterface().getSimpleName();
- SqlPackage sqlPackage= repositoryInformation.getRepositoryInterface().getAnnotation(SqlPackage.class);
- String configLoc=null!=sqlPackage?sqlPackage.value():"sql";
- if(MarkdownUtil.markdownFileExist(configLoc,interfaceName+".md")){
- MarkdownUtil.readMarkdownFile(configLoc,interfaceName+".md",false);
- }
- DataSourceKey dataSourceKey=repositoryInformation.getRepositoryInterface().getAnnotation(DataSourceKey.class);
- String dataSourceKeyValue=null!=dataSourceKey?dataSourceKey.value():null;
- ConfigInfo configInfo= new ConfigInfo();
- configInfo.setType(repositoryInformation.getDomainType());
- configInfo.setDataSourceWrapper(null!=dataSourceKeyValue?dataSourceWrapperHelper.getDataSourceWrapperByKey(dataSourceKeyValue):null);
- return new SimpleJdbcRepository<>(operations,configInfo);
- }
-
- /*
- * (non-Javadoc)
- * @see org.springframework.data.repository.core.support.RepositoryFactorySupport#getRepositoryBaseClass(org.springframework.data.repository.core.RepositoryMetadata)
- */
- @Override
- protected Class> getRepositoryBaseClass(RepositoryMetadata repositoryMetadata) {
- return SimpleJdbcRepository.class;
- }
-
- @Override
- protected Optional getQueryLookupStrategy(QueryLookupStrategy.Key key, QueryMethodEvaluationContextProvider evaluationContextProvider) {
- if (key != null //
- && key != QueryLookupStrategy.Key.USE_DECLARED_QUERY //
- && key != QueryLookupStrategy.Key.CREATE_IF_NOT_FOUND //
- ) {
- throw new IllegalArgumentException(String.format("Unsupported query lookup strategy %s!", key));
- }
- return Optional.of(new JdbcQueryLookupStrategy( operations,dataSourceWrapperHelper));
- }
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryFactoryBean.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryFactoryBean.java
deleted file mode 100644
index 40d521a..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryFactoryBean.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2017-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.support;
-
-import com.vonchange.jdbc.abstractjdbc.core.JdbcRepository;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.config.DataSourceWrapperHelper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.ApplicationEventPublisher;
-import org.springframework.context.ApplicationEventPublisherAware;
-import org.springframework.data.repository.Repository;
-import org.springframework.data.repository.core.support.RepositoryFactorySupport;
-import org.springframework.data.repository.core.support.TransactionalRepositoryFactoryBeanSupport;
-
-import java.io.Serializable;
-
-//import org.springframework.data.jdbc.core.DefaultDataAccessStrategy;
-
-/**
- * Special adapter for Springs {@link org.springframework.beans.factory.FactoryBean} interface to allow easy setup of
- * repository factories via Spring configuration.
- *
- * @author Jens Schauder
- * @author Greg Turnquist
- * @author Christoph Strobl
- * @author Oliver Gierke
- * @author Mark Paluch
- */
-public class JdbcRepositoryFactoryBean, S, ID extends Serializable> //
- extends TransactionalRepositoryFactoryBeanSupport implements ApplicationEventPublisherAware {
-
- private JdbcRepository jdbcRepository;
- private DataSourceWrapperHelper dataSourceWrapperHelper;
-
- /**
- * Creates a new {@link JdbcRepositoryFactoryBean} for the given repository interface.
- *
- * @param repositoryInterface must not be {@literal null}.
- */
- JdbcRepositoryFactoryBean(Class extends T> repositoryInterface) {
- super(repositoryInterface);
- }
-
- /*
- * (non-Javadoc)
- * @see org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport#setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
- */
- @Override
- public void setApplicationEventPublisher(ApplicationEventPublisher publisher) {
-
- super.setApplicationEventPublisher(publisher);
- }
-
- /**
- * Creates the actual {@link RepositoryFactorySupport} instance.
- */
- @Override
- protected RepositoryFactorySupport doCreateRepositoryFactory() {
- JdbcRepositoryFactory jdbcRepositoryFactory = new JdbcRepositoryFactory(
- jdbcRepository,dataSourceWrapperHelper);
- return jdbcRepositoryFactory;
- }
-
-
-
- @Autowired
- public void setDataSourceWrapperHelper(DataSourceWrapperHelper dataSourceWrapperHelper) {
- this.dataSourceWrapperHelper = dataSourceWrapperHelper;
- }
- @Autowired
- public void setJdbcOperations(@Qualifier("jdbcRepository") JdbcRepository jdbcRepository) {
- this.jdbcRepository = jdbcRepository;
- }
-
-}
diff --git a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryQuery.java b/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryQuery.java
deleted file mode 100644
index f11eb34..0000000
--- a/src/main/java/com/vonchange/spring/data/mybatis/mini/jdbc/repository/support/JdbcRepositoryQuery.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright 2018-2020 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.vonchange.spring.data.mybatis.mini.jdbc.repository.support;
-
-import com.vonchange.jdbc.abstractjdbc.core.JdbcRepository;
-import com.vonchange.jdbc.abstractjdbc.handler.AbstractPageWork;
-import com.vonchange.jdbc.abstractjdbc.model.DataSourceWrapper;
-import com.vonchange.mybatis.tpl.clazz.ClazzUtils;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.config.BindParameterWrapper;
-import com.vonchange.spring.data.mybatis.mini.jdbc.repository.config.ConfigInfo;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.dao.EmptyResultDataAccessException;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.repository.query.Parameters;
-import org.springframework.data.repository.query.RepositoryQuery;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.util.Assert;
-import org.springframework.util.ClassUtils;
-
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A query to be executed based on a repository method, it's annotated SQL query and the arguments provided to the
- * method.
- *
- * @author Jens Schauder
- * @author Kazuki Shimizu
- * @author Oliver Gierke
- * @author Maciej Walkowiak
- */
-
-class JdbcRepositoryQuery implements RepositoryQuery {
- private static final Logger log = LoggerFactory.getLogger(JdbcRepositoryQuery.class);
- private static final String PARAMETER_NEEDS_TO_BE_NAMED = "For queries with named parameters you need to provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.";
-
- private final JdbcQueryMethod queryMethod;
- private final JdbcRepository operations;
- private final ConfigInfo configInfo;
-
- /**
- * Creates a new {@link JdbcRepositoryQuery} for the given {@link JdbcQueryMethod}, and
- * {@link RowMapper}.
- *
- * @param queryMethod must not be {@literal null}.
- * @param operations must not be {@literal null}.
- */
- JdbcRepositoryQuery(JdbcQueryMethod queryMethod, @Qualifier("jdbcRepository") JdbcRepository operations, ConfigInfo configInfo) {
-
- Assert.notNull(queryMethod, "Query method must not be null!");
- Assert.notNull(operations, "NamedParameterJdbcOperations must not be null!");
- Assert.notNull(configInfo, "configLocation must not be null!");
- this.queryMethod = queryMethod;
- this.operations = operations;
- this.configInfo=configInfo;
- }
-
- /*
- * (non-Javadoc)
- * @see org.springframework.data.repository.query.RepositoryQuery#execute(java.lang.Object[])
- */
- @Override
- public Object execute(Object[] objects) {
- return executeDo(objects);
- }
-
- @SuppressWarnings("unchecked")
- private Object executeDo(Object[] objects){
- BindParameterWrapper parameters = bindParameter(objects);
- String sqlId= configInfo.getLocation()+"."+configInfo.getMethod();
- DataSourceWrapper dataSourceWrapper = configInfo.getDataSourceWrapper();
- if(null==dataSourceWrapper&&queryMethod.isReadDataSource()){
- dataSourceWrapper=operations.getReadDataSource();
- }
- if (queryMethod.isBatchUpdate()){
- return operations.batchUpdate(dataSourceWrapper,sqlId,(List