# mysql2dm-spring-boot-starter
**Repository Path**: hardrocksman/mysql2dm-spring-boot-starter
## Basic Information
- **Project Name**: mysql2dm-spring-boot-starter
- **Description**: 用于基于MySQL的项目适配达梦数据库。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 13
- **Created**: 2024-12-04
- **Last Updated**: 2024-12-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# mysql2dm-spring-boot-starter
## 介绍
用于基于MySQL的项目适配达梦数据库。
## 软件架构
基于Druid里提供的AST工具和Filter实现。在数据库连接层拦截, 上层无感知, 可以用mybatis、jpa甚至jdbcTemplate都可以拦截到。
Druid提供的AST开发简单、灵活、并且性能达到生产级别。
## 安装教程
### 前提
项目需要使用 `druid-spring-boot-starter`。
> 是通过`DruidDataSourceWrapper`类注册`Filter`的, 如果不想使用`druid-spring-boot-starter`,
> 可以模仿`DruidDataSourceWrapper`自行注册`Filter`
### 安装
将本工程install到本地maven仓库后, 在待改造的项目引入pom即可
```
com.myth
mysql2dm-spring-boot-starter
1.0.0-SNAPSHOT
```
## 使用说明
1. 工具中会自动判断当前数据库环境是否是达梦数据库, 是的时候才会拦截修改
## 扩展说明
若发现有新的语法需要适配, 可以在`DmSupportVisitor`类里添加
## 详细文档
## GitHub地址
## 未来计划
1. 支持`PrepareStatement`的占位符和参数顺序的同步调整。
> 修改sql的时候可能会使原有的占位符位置甚至个数发生变化, 因此对应的参数也需要对应的调整
2. 动态支持未使用`druid-spring-boot-starter`, 而只使用了`druid`
> 只使用了`druid`的情况也能支持
3. 尝试支持未使用druid作为数据库连接池的情况
> 方案:
> 1. 增加其他数据库连接池的自动配置类和拦截器类
> 2. 研究一下其他拦截点, 更通用的, 可以跟连接池类型也无关的
## 联系我
邮箱: 1157151478@qq.com