Skip to content

Commit f983fd2

Browse files
author
veasion
committed
modify
1 parent 8a1ce0e commit f983fd2

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

README.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# veasion-db
22

3-
version-db 是一个轻量级持久层db框架,除slf4j-api外不依赖任何第三方jar,该框架提供丰富灵活的数据库操作,
3+
veasion-db 是一个轻量级持久层db框架,除slf4j-api外不依赖任何第三方jar,该框架提供丰富灵活的数据库操作,
44
单元测试 query/update 目录下有大量示例及demo。
55

6-
框架支持sql能实现的任意查询或更新,如关联查询、子查询、关联更新、insert select、不同数据库分页扩展等。
6+
框架基本支持sql能实现的任意查询或更新,如关联查询、子查询、关联更新、insert select、不同数据库分页扩展等。
77

88
框架支持自定义拦截器,内置逻辑删除拦截器,可通过SPI或调用InterceptorUtils.addInterceptor方法加入扩展。
99
## maven 依赖
@@ -21,7 +21,7 @@ version-db 是一个轻量级持久层db框架,除slf4j-api外不依赖任何
2121
<dependency>
2222
<groupId>com.github.veasion</groupId>
2323
<artifactId>veasion-db</artifactId>
24-
<version>v1.0.1</version>
24+
<version>v1.0.2</version>
2525
</dependency>
2626
```
2727
支持sql解析生成veasion-db代码
@@ -332,6 +332,34 @@ public class InsertTest extends BaseTest {
332332
}
333333
```
334334

335+
### 动态查询机制
336+
支持动态查询机制,可通过配置字段注解提前定义查询方式和动态关联、静态关联表。
337+
非常灵活的实现前端传参后端动态查询,具体参考单元测试 QueryCriteriaTest
338+
339+
### spring 项目接入 veasion-db
340+
SPI 实现 cn.veasion.db.jdbc.DataSourceProvider 接口
341+
```java
342+
public class DefaultDataSourceProvider implements DataSourceProvider {
343+
344+
@Override
345+
public DataSource getDataSource(EntityDao<?, ?> entityDao, JdbcTypeEnum jdbcTypeEnum) {
346+
// 可已定义根据 jdbcTypeEnum 判断读写类型,获取不同数据源
347+
// SpringUtils 是获取 bean 的工具类(自写)
348+
return SpringUtils.getBean(DataSource.class);
349+
}
350+
351+
@Override
352+
public Connection getConnection(DataSource dataSource) throws SQLException {
353+
return org.springframework.jdbc.datasource.DataSourceUtils.getConnection(dataSource);
354+
}
355+
356+
@Override
357+
public boolean autoClose() {
358+
return false;
359+
}
360+
}
361+
```
362+
335363
## 赞助
336364

337365
项目的发展离不开您的支持,请作者喝杯咖啡吧~

src/main/java/cn/veasion/db/criteria/QueryCriteriaConvert.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
*/
3131
public class QueryCriteriaConvert {
3232

33-
public static final Pattern FIELD_PATTERN = Pattern.compile("[_0-9a-zA-Z]+");
33+
public static final Pattern FIELD_PATTERN = Pattern.compile("[_0-9a-zA-Z.]+");
3434

3535
private Object object;
3636
private EntityQuery query;
@@ -115,7 +115,7 @@ private void handleAutoCriteria(AutoCriteria annotation, Map<String, Object> fil
115115
if (annotation.skipEmpty() && isEmpty(value)) {
116116
return;
117117
}
118-
if (!FIELD_PATTERN.matcher(key).matches()) {
118+
if (!FIELD_PATTERN.matcher(key).matches() || key.length() > 30) {
119119
throw new FilterException("非法字段:" + key);
120120
}
121121
if (relationClass != Void.class) {

0 commit comments

Comments
 (0)