Derby 和 Sqlite 数据库的配置与使用

2023-11-12

Derby 和 Sqlite 数据库的配置与使用

Derby 和 Sqlite 数据库:一种无需安装可直接使用的数据库,使用这两个数据库只需要下载其文件夹并配置其环境变量,然后导入对应的 jar 包即可直接使用。不同于 Mysq 和 Oracle 那样使用前必须安装。关于 Derby 和 Sqlite 数据库细节部分,这里就不啰嗦了,大家可以通过百度进行了解。
下面介绍关于 Derby 和 Salite 数据库的配置及其使用。

Derby 数据库:

下载其文件网址:http://db.apache.org/derby/derby_downloads.html
在这里插入图片描述
上边的版本根据自己需要进行选择下载。
在这里插入图片描述
选择版之后进入到这个界面,选择 bin.zip 下载即可。下载完成之后会有一个压缩文件夹。
在这里插入图片描述
然后解压到桌面出现一个文件夹,将其放在合适的盘内(尽量不要放在 C 盘)。
在这里插入图片描述
配置环境变量:

打开此电脑,然后右键点击属性进入高级系统设置界面。
在这里插入图片描述
进入之后点击环境变量
在这里插入图片描述
进入环境变量界面后进行新建系统变量
变量名: DERBY_HOME (大写)

变量值: (你 Derby 的文件夹路径)
Path 变量:选中 Path 变量 编辑,新建一行写上%DERBY_HOME%\bin
验证是否成功:打开 cmd 输入 ij

配置成功显示:
在这里插入图片描述
配置成功之后在自己使用的编译器中导入该数据库的 jar 包,就可以使用了。

jar 包的下载:http://www.java2s.com/Code/Jar/d/Downloadderbydriverjar.htm

在这里插入图片描述
点击下载即可。

下载完成之后解压到桌面,然后在项目中新建一个 lib 文件夹后将解压好的 jar

包放进去,然后导入即可。

导入 jar 包的方法参照:https://blog.csdn.net/qq_52015408/article/details/122012862
Java 程序访问 Derby 数据库的类:

import java.sql.*;

public class Derby {
Connection conn = null;
Statement stat = null;

public void connect() throws Exception {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");//加载驱动
conn = DriverManager.getConnection("jdbc:derby:dd;create=true");
System.out.println("连接成功");
}
//数据库表中内容的增删改
public int update(String sql) throws SQLException {
stat = conn.createStatement();
int i = stat.executeUpdate(sql);
return i;
}
//查询数据库的方法
 
public ResultSet getResultSet(String sql) throws SQLException {
if (conn==null)
return null;
stat = conn.createStatement();
ResultSet resultSet = stat.executeQuery(sql);
return resultSet;
}
//创建表的方法
public void createTable(String TableName,String[] Attribute) {
for (int i = 1; i < Attribute.length; i++) {
Attribute[0]=Attribute[0]+","+Attribute[i];
}
try {
String	sql = "create table "+TableName+"("+Attribute[0]+")";
stat = conn.createStatement();
stat.execute(sql);
System.out.println(TableName+"表创建成功");}catch (Exception
e){
System.out.println(TableName+"表创建失败");
e.printStackTrace();
}
}

public static void main(String[] args) throws Exception {
Derby derby = new Derby();
derby.connect();

String TableName="table_1";//表的名字
String[] a = {"a int","b int","c int"};//表中三个属性
//将两个参数传递给 createTable 方法即可在当前表空间中创建一个表了
derby.createTable(TableName,a);
}
}

Sqlite 数据库

下载文件地址:https://sqlite.org/download.html
找到 Windows 版本的下载第一个和第三个文件。
在这里插入图片描述
下载完成之后解压两个文件。
在这里插入图片描述
在这里插入图片描述
在自己电脑合适的盘中新建立一个文件夹,将这五个文件复制到该文件夹中。
在这里插入图片描述
在这里插入图片描述
完成上述之后接下来配置其环境变量。

系统变量中的 Path 变量中添加刚刚存储 sqlite 文件的路径。
在这里插入图片描述
在 cmd 中输入 sqlite3,如果显示以下图片中的信息即为配置成功。在这里插入图片描述
配置成功之后在自己编译器中导入 sqlite 的 jar 包即可使用。

Sqlite 的 jar 包下载: https://pan.baidu.com/s/1kE76c8fUhWCklhDPFpIqNg 提取码: 7h2s
导入 jar 包参照:https://blog.csdn.net/qq_52015408/article/details/122012862

_idea 怎么导入jar 包。
Java 访问 Sqlite 的类:

import java.sql.*;

public class Sqlite {
Connection conn = null;
Statement stat = null;
// 连接 SQLite 的方法
public void connect() throws Exception {
Class.forName("org.sqlite.JDBC");//注册驱动
conn = DriverManager.getConnection("jdbc:sqlite:main.db");
System.out.println("连接成功");
}
//数据库表中内容的增删改
public int update(String sql) throws SQLException {
if(conn==null)
return -1;
stat = conn.createStatement();
int i = stat.executeUpdate(sql);
return i;
}
//查询数据库的方法
public ResultSet getResultSet(String sql) throws SQLException {
if (conn==null)
return null;
stat = conn.createStatement();
ResultSet resultSet = stat.executeQuery(sql);
return resultSet;
}
//创建表的方法
public void createTable(String TableName,String[] Attribute) {
for (int i = 1; i < Attribute.length; i++) {
Attribute[0]=Attribute[0]+","+Attribute[i];
}
try {
String	sql = "create table "+TableName+"("+Attribute[0]+")";
stat = conn.createStatement();
stat.execute(sql);
System.out.println(TableName+"表创建成功");}catch (Exception
e){
System.out.println(TableName+"表创建失败");
e.printStackTrace();
 }
  }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Derby 和 Sqlite 数据库的配置与使用 的相关文章

  • java程序有多少种结束方式?

    我知道使用 System exit 0 可以结束一个java程序 例如 如果我有一个JFrame窗口 它会关闭并结束程序 但我想知道还有多少其他方法 可以关闭它并结束程序 包括发生错误时 程序会被关闭 JFrame也会被关闭吗 添加到其他答
  • Kafka - 如何同时使用过滤器和过滤器?

    我有一个 Kafka 流 它从一个主题获取数据 并且需要将该信息过滤到两个不同的主题 KStream
  • 以相反的顺序打印任何集合中的项目?

    我在 使用 Java 进行数据结构和问题解决 一书中遇到以下问题 编写一个例程 使用 Collections API 以相反的顺序打印任何 Collection 中的项目 不要使用 ListIterator 我不会把它放在这里 因为我想让有
  • 使用 Exec Maven 插件分叉 Java,而不使用“exec”目标

    来自文档 https www mojohaus org exec maven plugin exec exec在单独的进程中执行程序和Java程序 exec java在同一虚拟机中执行 Java 程序 我想 fork 一个 java 程序
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • 我对线程失去了理智

    我想要这个类的对象 public class Chromosome implements Runnable Comparable
  • 如何将数据库查询的行转换为 XML 文件?

    我正在开发一个 Delphi 应用程序 该应用程序需要从一段工作中获取行并将其转换为单个 XML 文件 以便上传到第三方 Web 服务 有没有可用的组件或库可以做到这一点 如果不是 那么构建 DB2XML 转换器的最佳代码方法是什么 我注意
  • 如何使用 Java 引用释放 Java Unsafe 内存?

    Java Unsafe 类允许您按如下方式为对象分配内存 但是使用此方法在完成后如何释放分配的内存 因为它不提供内存地址 Field f Unsafe class getDeclaredField theUnsafe Internal re
  • 将类转换为 JSONObject

    我有好几堂这样的课 我想将类转换为 JSONObject 格式 import java io Serializable import com google gson annotations SerializedName public cla
  • JAXB - 忽略元素

    有什么方法可以忽略 Jaxb 解析中的元素吗 我有一个很大的 XML 文件 如果我可以忽略其中一个大而复杂的元素 那么它的解析速度可能会快很多 如果它根本无法验证元素内容并解析文档的其余部分 即使该元素不正确 那就更好了 例如 这应该只生成
  • 在java程序中使用c++ Dll

    我正在尝试使用System LoadLibrary 使用我用 C 编写的一个简单的 dll UseDllInJava java import com sun jna Library import com sun jna Native imp
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • 文本视图不显示全文

    我正在使用 TableLayout 和 TableRow 创建一个简单的布局 其中包含两个 TextView 这是代码的一部分
  • 我们如何使用 thymeleaf 绑定对象列表的列表

    我有一个表单 用户可以在其中添加任意数量的内容表对象这也可以包含他想要的列对象 就像在 SQL 中构建表一样 我尝试了下面的代码 但没有任何效果 并且当我尝试绑定两个列表时 表单不再出现 控制器 ModelAttribute page pu
  • Android计算两个日期之间的天数

    我编写了以下代码来查找两个日期之间的天数 startDateValue new Date startDate endDateValue new Date endDate long diff endDateValue getTime star
  • 如何记录数据库代码以查看数据库对象之间的依赖关系? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想为我的宠物项目编写文档 我的 PostgreSQL 数据库中有 30 个表 近 50 个视图和大约 30 个函数 存储过程 我想看
  • 用于请求带有临时缓存的远程 Observable 的 RxJava 模式

    用例是这样的 我想暂时缓存最新发出的昂贵的Observable响应 但在它过期后 返回到昂贵的源Observable并再次缓存它 等等 一个非常基本的网络缓存场景 但我真的很难让它工作 private Observable
  • Selenium 单击在 Internet Explorer 11 上不起作用

    我尝试在 Internet Explorer 上单击 selenium 但它不起作用 我努力了element click moveToElement element click build perform javascript没事了 事实上
  • 使用 DBCP 配置 Tomcat

    在闲置一段时间 几个小时 后 我们收到了 CommunicationsException 来自 DBCP 错误消息 在异常中 位于这个问题的末尾 但我没有看到任何配置文件中定义的 wait timeout 我们应该看哪里 在 tomcat
  • GAE 无法部署到 App Engine

    我正在尝试从 Eclipse 发布 Web 应用程序 我在 GAE 上创建了四个项目 可以通过登录我的帐户并查看控制台来查看它们 我已经改变了appengine web xml到项目的应用程序 ID 如果我将其更改为 GAE 上第一个创建的

随机推荐

  • atoi函数源代码

    atoi函数源代码 isspace int x if x x t x n x f x b x r return 1 else return 0 isdigit int x if x lt 9 x gt 0 return 1 else ret
  • CPU是如何读写内存的?

    如果你不知道CPU是如何读写内存的 那你应该好好看看这篇文章 如果你觉得这是一个非常简单的问题 那你更应该好好读读本文 这个问题绝没有你想象那么简单 一定要读完 闲话少说 让我们来看看CPU在读写内存时底层究竟发生了什么 1 谁来告诉CPU
  • Mybatis二级缓存应用场景和局限性

    二级缓存应用场景 对查询频率高 变化频率低的数据建议使用二级缓存 对于访问多的查询请求且用户对查询结果实时性要求不高 此时可采用mybatis二级缓存技术降低数据库访问量 提高访问速度 业务场景比如 耗时较高的统计分析sql 电话账单查询s
  • ChatGPT是否具有记忆能力?

    ChatGPT在某种程度上具有记忆能力 但它的记忆能力有限且不像人类的记忆那样全面和持久 以下是对ChatGPT的记忆能力的详细分析 1 上下文记忆 ChatGPT可以在对话过程中记住先前的对话历史 以便更好地理解和回应后续的问题 通过将上
  • 带你了解并实践monorepo和pnpm,绝对干货!熬夜总结!

    大厂技术 高级前端 Node进阶 点击上方 程序员成长指北 关注公众号 回复1 加入高级Node交流群 为什么使用monorepo 什么是monorepo 简单来说就是 将多个项目或包文件放到一个git仓库来管理 目前比较广泛应用的是yar
  • java面试笔试基本知识点总结

    1 正则表达式 正则表达式定义了字符串的模式 正则表达式可以用来搜索 编辑或处理文本 正则表达式并不仅限于某一种语言 但是在每种语言中有细微的差别 在编写处理字符串的程序时 经常会有查找符合某些复杂规则的字符串的需要 正则表达式就是用于描述
  • hikaricp druid比较_Spring Boot整合MybatisPlus和Druid

    在Java中 我比较ORM熟悉的只有Hibernate和Mybatis 其他的并未实践使用过 在这二者之间我更喜欢Mybatis 因为它精简 灵活 毕竟我是上年纪的程序员 喜欢自己写SQL 刚才有提到Mybatis 但是这里的重点是介绍My
  • 应用APK文件有效瘦身

    先说下前言 为什么要这样处理 随着项目的越来越多丰富功能 打包出来的apk体积日益变大 不说打包耗时 编译耗时 发布到应用市场 用户下载流量多 而且手机空间那么有限 用户不满意 咱们就要进行改变呗 没有体验 就没有用户 我先贴一张图 演示项
  • Python常用命令整理

    Anaconda常用命令 1 管理Conda 1 检查conda版本 conda version 2 升级当前版本conda conda update conda 2 管理 虚拟 环境 1 创建环境 创建一个名为python3的环境 指定P
  • Visual Studio 安装检测内存工具-Visual Leak Detetctor。(适用于VS2013、VS2015、VS2017、VS2019、VS2022版本)

    目录 前言 Visual Leak Detetctor 外部安装VLD 安装包 配置VLD 查看相关文件 将VLD配置到C 项目中 创建一个C 的空工程 配置头文件 配置lib库 测试Visual Leak Detetctor 前言 如果你
  • Got permission denied while trying to connect to the Docker daemon socket

    docker权限问题 需要将当前用户添加到docker组 sudo groupadd docker 添加docker用户组 sudo gpasswd a XXX docker 检测当前用户是否已经在docker用户组中 其中XXX为用户名
  • Mac 下 Arduino 开发环境搭建

    文章目录 Mac 下 Arduino 开发环境搭建 驱动 Arduino 安装 Arduino IDE 使用 Arduino IDE 准备跑路 VS Code 安装 VS Code 安装 Arduino 扩展 安装 C C 扩展 开始开发
  • 剑指Offer第二十七题:字符串的排列

    题目描述 输入一个字符串 按字典序打印出该字符串中字符的所有排列 例如输入字符串abc 则打印出由字符a b c所能排列出来的所有字符串abc acb bac bca cab和cba 思路 感觉是动态规划题 假设选第一个元素时 对于abc有
  • Redis+Lua限制发送量及遇到的坑

    业务中需要限制每个账号每天发送短信数量 如果没有超过设置的发送量 则正常发送 否则返回失败 解决思路 将账号ID yyyyMMdd组成redis的key value为当天的发送量 在发送前获取账号ID yyyyMMdd的值 如果没有超过发送
  • MachineLearningWu_13/P60-P64_Tensorflow

    P60 P64的学习目录如下 x 1 TF网络模型实现 以一个简单的TF的分类网络为例 将模型翻译成框架下的语义 即如右侧所表达的 当然上面对于分类网络的解释是一个简洁的解释 我们来进行更加具象的了解一下 左边是机器学习的三步骤 1 给定输
  • next_permutation 函数的使用 poj1256

    next permutation全排列函数是一个十分好用而且强大的函数 要想更好的了解这个函数可以看https blog csdn net howardemily article details 68064377 个人感觉写的特别好 里面有
  • <<视觉问答>>2021:Separating Skills and Concepts for Novel Visual Question Answering

    目录 摘要 一 介绍 二 相关工作 三 Skill Concept Composition in VQA 四 方法 4 1 Concept Grounding 4 2 Skill Matching 4 3 Training Procedur
  • 父子组件传值,子组件数据不更新

    项目场景 提示 这里简述项目相关背景 例如 查看列表中的某一条 显示这条的详情信息 这里的详情是一个弹框子组件 后台管理系统 问题描述 提示 这里描述项目中遇到的问题 在父子组件传参时 父组件将值传到子组件后 子组件进行数据展示 在第一次传
  • python3 request post请求中文例子

    下面是一个使用Python 3发送POST请求并包含中文数据的示例 import requests 请求URL url https example com api 请求头部设置 headers Content Type applicatio
  • Derby 和 Sqlite 数据库的配置与使用

    Derby 和 Sqlite 数据库的配置与使用 Derby 和 Sqlite 数据库 一种无需安装可直接使用的数据库 使用这两个数据库只需要下载其文件夹并配置其环境变量 然后导入对应的 jar 包即可直接使用 不同于 Mysq 和 Ora