java-db 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
java-db 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
java-db 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache-2.0
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 数据库相关
开源组织
地区 国产
投 递 者 tio-boot
适用人群 未知
收录时间 2024-11-25

软件简介

Java 操作数据库的瑞士军刀   java-db 是一个功能强大的 Java 数据库操作库,支持多种数据库类型,提供简洁高效的数据管理工具。

功能特性

  • 关系型数据库支持:SQLite3、H2、AnsiSQL、Informix、MySQL、Oracle、PostgreSQL、SQL Server。
  • 缓存数据库支持:Redis。
  • 非关系型数据库支持:MongoDB。
  • 本地缓存支持:Ehcache。
  • 时序数据库支持:TDengine。

开源地址

快速开始(以 MySQL 为例)

1. 创建示例数据库表

运行以下 SQL 脚本来创建一个 USER 表并插入一些测试数据:

CREATE TABLE USER (
  id BIGINT(20) NOT NULL COMMENT '主键ID',
  NAME VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
  age INT(11) NULL DEFAULT NULL COMMENT '年龄',
  email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
  addr VARCHAR(250) NULL DEFAULT NULL COMMENT '地址',
  remark VARCHAR(250) NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (id)
);
 
INSERT INTO USER (id, NAME, age, email, addr, remark)
VALUES (1, '张三', 25, 'zhangsan@example.com', '北京市朝阳区', '无');
INSERT INTO USER (id, NAME, age, email, addr, remark)
VALUES (2, '李四', 30, 'lisi@example.com', '上海市浦东新区', '无');
INSERT INTO USER (id, NAME, age, email, addr, remark)
VALUES (3, '王五', 35, 'wangwu@example.com', '广州市天河区', '无');

2. 添加 Maven 依赖

在项目的 pom.xml 中添加以下依赖: https://mvnrepository.com/artifact/com.litongjava/java-db/1.4.5

<dependency>
  <groupId>com.litongjava</groupId>
  <artifactId>java-db</artifactId>
  <version>{java.db.version}</version>
</dependency>
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid</artifactId>
  <version>1.1.10</version>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.46</version>
</dependency>

3. 编写测试程序

以下是一个示例程序,用于连接 MySQL 数据库并查询数据:

package com.litongjava.tio.web.hello.example;
 
import java.util.List;
 
import com.litongjava.db.activerecord.ActiveRecordPlugin;
import com.litongjava.db.activerecord.Db;
import com.litongjava.db.activerecord.OrderedFieldContainerFactory;
import com.litongjava.db.activerecord.Record;
import com.litongjava.db.druid.DruidPlugin;
 
public class MysqlTestMain {
  public static void main(String[] args) {
    // 数据库配置信息
    String jdbcUrl = "jdbc:mysql://192.168.3.9:3306/mybatis_plus_study";
    String jdbcUser = "root";
    String jdbcPswd = "robot_123456#";
 
    // 初始化 DruidPlugin 数据库连接池插件
    DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl, jdbcUser, jdbcPswd);
 
    // 初始化 ActiveRecordPlugin 数据库操作插件
    ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
    arp.setContainerFactory(new OrderedFieldContainerFactory());
 
    // 启动插件
    druidPlugin.start();
    arp.start();
 
    // 查询 "USER" 表中的数据并打印记录数
    List<Record> records = Db.findAll("USER");
    System.out.println("记录数量: " + records.size());
  }
}

使用文档

以下是 java-db 各功能模块的详细使用文档链接:

  • 概述:了解 java-db 的功能与特点     查看详情
  • 操作数据库入门示例:简单易懂的数据库操作基础示例     查看详情
  • SQL 模板:使用 SQL 模板快速操作数据库     查看详情
  • 数据库配置与使用:详解如何配置并使用数据库     查看详情
  • ActiveRecord:通过 ActiveRecord 简化数据库操作     查看详情
  • Model:灵活的数据模型操作方式     查看详情
  • 生成器与 Model:自动化生成 JavaBean 数据模型     查看详情
  • Db Record:使用 DbRecord 模式操作数据库     查看详情
  • 分页处理(paginate):示例展示如何进行数据分页操作     查看详情
  • 数据库事务处理:灵活的事务管理方式     查看详情
  • 缓存(Cache)支持:支持多种缓存类型,如 Redis 和 Ehcache     查看详情
  • 多数据库方言支持(Dialect):适配多种数据库     查看详情
  • 表关联操作:处理表之间的关联关系     查看详情
  • 复杂主键支持:应对复杂主键的操作需求     查看详情
  • Oracle 支持:操作 Oracle 数据库的特性支持     查看详情
  • Enjoy SQL 模板:基于 Enjoy 的轻量级 SQL 模板     查看详情
  • 多数据源支持:灵活处理多个数据源     查看详情
  • 调用存储过程:示例演示如何调用存储过程     查看详情
  • 生成 SQL:动态生成 SQL 的实用方法     查看详情
  • 通透实体类操作传统数据库:通过实体类高效操作数据库     查看详情
  • 读写分离:实现数据库的读写分离     查看详情
  • Spring Boot 整合 Java-DB:快速集成 Spring Boot 和 java-db     查看详情
  • SQL 统计:强大的 SQL 统计功能     查看详情 

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(15) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
15 评论
1 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部