关系型数据库(derby)

概述

用 Java 编写的关系数据库,可以两种模式运行:嵌入式或客户端服务器。遵循SQL标准并兼容JDBC接口。

maven依赖

xml 复制代码
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.11.1.1</version>
        </dependency>

示例

  • 内存模式
java 复制代码
    @Test
    void contextLoads() throws ClassNotFoundException, SQLException {
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
        Connection connection = DriverManager.getConnection("jdbc:derby:memory:test;create=true");
        Statement statement = connection.createStatement();
        //创建表
        statement.execute("create table tb_demo(id integer not null, name varchar(50))");
        //插入数据
        statement.execute("insert into tb_demo(id,name) values (1,'bob')");
        statement.execute("insert into tb_demo(id,name) values (2,'pop')");
        //查询数据
        ResultSet resultSet = statement.executeQuery("select * from tb_demo");
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id: " + id + "   name: " + name);
        }
    }
  • 文件模式
java 复制代码
    @Test
    void contextLoads1() throws ClassNotFoundException, SQLException {
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
        Connection connection = DriverManager.getConnection("jdbc:derby:E:\\db\\derby.db;create=true");
        Statement statement = connection.createStatement();
        //创建表
        statement.execute("create table tb_demo(id integer not null, name varchar(50))");
        //插入数据
        statement.execute("insert into tb_demo(id,name) values (1,'bob')");
        statement.execute("insert into tb_demo(id,name) values (2,'pop')");
        //查询数据
        ResultSet resultSet = statement.executeQuery("select * from tb_demo");
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id: " + id + "   name: " + name);
        }
    }
  • 客户端服务器模式(需要先下载、安装、启动Derby网络服务器)
java 复制代码
    @Test
    void contextLoads1() throws ClassNotFoundException, SQLException {
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
        Connection connection = DriverManager.getConnection("jdbc:derby://127.0.0.1:1527/testdb;create=true,"userName", "******");
        Statement statement = connection.createStatement();
        //创建表
        statement.execute("create table tb_demo(id integer not null, name varchar(50))");
        //插入数据
        statement.execute("insert into tb_demo(id,name) values (1,'bob')");
        statement.execute("insert into tb_demo(id,name) values (2,'pop')");
        //查询数据
        ResultSet resultSet = statement.executeQuery("select * from tb_demo");
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id: " + id + "   name: " + name);
        }
    }

可参考文档

相关推荐
Warren9828 分钟前
datagrip新建oracle连接教程
数据库·windows·云原生·oracle·容器·kubernetes·django
焦糖玛奇朵婷29 分钟前
扭蛋机小程序:线上扭蛋机模式发展新形势[特殊字符]
大数据·数据库·程序人生·小程序·软件需求
YMatrix 官方技术社区41 分钟前
YMatrix 高可用详解:3 种镜像策略在节点宕机时表现有何不同?
运维·数据库·数据仓库·ai·数据库开发·数据库架构·ymatrix
嘟嘟w44 分钟前
SQL注入是什么
数据库·sql·oracle
摇滚侠44 分钟前
Redis 零基础到进阶,Redis 主从复制,笔记55-62
数据库·redis·笔记
surtr11 小时前
数据库基础(数据库原理和应用)
数据库·sql·mysql·oracle·database
张人玉1 小时前
c# DataSet 类
数据库·c#·dataset
想用offer打牌1 小时前
数据库大事务有什么危害(面试版)
数据库·后端·架构
廋到被风吹走1 小时前
【数据库】【Redis】数据结构全景图:命令、场景与避坑指南
数据结构·数据库·redis
Jaising6661 小时前
Spring 错误使用事务导致数据可见性问题分析
数据库·spring boot