数据访问
LCGYL Framework 提供了完整的数据访问层解决方案,包括 JDBC、JPA、MyBatis-Plus 等多种 ORM 框架支持。
插件清单
关系型数据库
| 插件 | 说明 | 适用场景 |
|---|---|---|
| lcgyl-jdbc-plugin | 基础 JDBC,支持 SQLite/PostgreSQL/MySQL | 原生 SQL、简单查询 |
| lcgyl-jpa-plugin | JPA/Hibernate ORM | 标准 ORM、实体映射 |
| lcgyl-mybatis-plugin | MyBatis-Plus ORM | 灵活 SQL、复杂查询 |
NoSQL & 缓存
| 插件 | 说明 | 适用场景 |
|---|---|---|
| lcgyl-cache-plugin | 本地缓存 | 单机缓存 |
| lcgyl-redis-plugin | Redis 客户端 | 分布式缓存/会话 |
| lcgyl-mongo-plugin | MongoDB | 文档型存储 |
功能对比
| 功能 | jdbc-plugin | jpa-plugin | mybatis-plugin |
|---|---|---|---|
| 原生 SQL | ✅ | ✅ | ✅ |
| ORM 映射 | ❌ | ✅ | ✅ |
| 实体基类 | ❌ | ✅ | ✅ |
| 审计字段 | ❌ | ✅ | ✅ |
| 分页查询 | ❌ | ✅ | ✅ |
| 逻辑删除 | ❌ | ❌ | ✅ |
| 连接池 | ✅ HikariCP | ✅ | ✅ |
核心特性
- 多数据源支持:MySQL、PostgreSQL、SQLite 等
- 连接池管理:HikariCP 高性能连接池
- 事务管理:声明式和编程式事务
- ORM 框架:JPA/Hibernate、MyBatis-Plus
- 审计功能:自动填充创建/更新时间
- 批处理:高效的批量操作
快速开始
1. 配置数据源
properties
# application.properties
# 数据源配置
datasource.url=jdbc:mysql://localhost:3306/lcgyl?useSSL=false&serverTimezone=UTC
datasource.username=root
datasource.password=123456
datasource.driverClassName=com.mysql.cj.jdbc.Driver
# 连接池配置
datasource.pool.maxSize=20
datasource.pool.minSize=5
datasource.pool.maxWait=30000
datasource.pool.testQuery=SELECT 12. 创建数据源
java
import com.lcgyl.data.DataSource;
import com.lcgyl.data.DataSourceBuilder;
public class DataSourceExample {
public static void main(String[] args) {
// 创建数据源
DataSource dataSource = DataSourceBuilder.create()
.url("jdbc:mysql://localhost:3306/lcgyl")
.username("root")
.password("123456")
.maxPoolSize(20)
.minPoolSize(5)
.build();
// 使用数据源
try (Connection conn = dataSource.getConnection()) {
// 执行数据库操作
}
}
}3. 基本查询
java
import com.lcgyl.data.JdbcTemplate;
public class QueryExample {
private final JdbcTemplate jdbcTemplate;
public QueryExample(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public User findById(Long id) {
String sql = "SELECT * FROM users WHERE id = ?";
return jdbcTemplate.queryForObject(sql, User.class, id);
}
public List<User> findAll() {
String sql = "SELECT * FROM users";
return jdbcTemplate.queryForList(sql, User.class);
}
}下一步
- JDBC 插件 - 基础 JDBC 操作
- JPA 插件 - JPA/Hibernate ORM
- MyBatis 插件 - MyBatis-Plus ORM
- 数据源配置 - 详细的数据源配置
- 事务管理 - 事务管理详解
示例代码
查看完整的示例代码:数据访问示例