Skip to content

数据访问插件

LCGYL Framework 提供了完整的数据访问解决方案,支持多种 ORM 框架和数据库。

插件选择指南

如何选择?

                    需要数据库访问?

           ┌──────────────┼──────────────┐
           ▼              ▼              ▼
        原生 SQL      需要 ORM       需要 NoSQL
           │              │              │
           ▼         ┌────┴────┐         ▼
      jdbc-plugin    ▼         ▼    mongo/redis
                   JPA    MyBatis
                    │         │
              标准规范   灵活 SQL

对比表

功能jdbcjpamybatis
原生 SQL
ORM 映射
实体基类
审计字段
分页查询
逻辑删除
Lambda 查询
连接池HikariCPHikariCPHikariCP
学习成本
灵活性

推荐场景

场景推荐插件原因
简单 CRUDjpa-plugin开箱即用
复杂查询mybatis-pluginSQL 灵活
遗留系统jdbc-plugin原生 SQL
高并发读redis-plugin缓存
文档存储mongo-plugin灵活 Schema

快速开始

JDBC(最简单)

gradle
implementation project(':plugins:data-access:lcgyl-jdbc-plugin')
java
DataSource ds = DataSourceFactory.create("jdbc:sqlite:test.db");
JdbcTemplate jdbc = new JdbcTemplate(ds);
jdbc.update("INSERT INTO users (name) VALUES (?)", "张三");

JPA(标准 ORM)

gradle
implementation project(':plugins:data-access:lcgyl-jpa-plugin')
java
@Entity
public class User extends BaseEntity<Long> {
    private String name;
}

public interface UserRepository extends BaseRepository<User, Long> {}

MyBatis-Plus(灵活 SQL)

gradle
implementation project(':plugins:data-access:lcgyl-mybatis-plugin')
java
@TableName("users")
public class User extends BaseEntity {}

// Lambda 查询
userService.lambdaQuery()
    .eq(User::getStatus, "active")
    .list();

插件文档

通用配置

数据源配置

yaml
lcgyl:
  datasource:
    url: jdbc:postgresql://localhost:5432/mydb
    username: postgres
    password: postgres
    pool:
      max-size: 20
      min-size: 5

支持的数据库

数据库驱动
PostgreSQLorg.postgresql:postgresql
MySQLcom.mysql:mysql-connector-j
SQLiteorg.xerial:sqlite-jdbc
Oraclecom.oracle.database.jdbc:ojdbc11
SQL Servercom.microsoft.sqlserver:mssql-jdbc

Released under the Apache License 2.0