derby安装及使用
文章目录
环境:windows
derby 版本:db-derby-10.14.2.0-bin
JDK版本:JDK1.8
一、安装
第一步:下载derby bin版本(注意与自己的JDK版本匹配)
查看JDK版本方法:win+R 进入命令行输入:java -version
derby下载:对应JDK1.8 http://db.apache.org/derby/releases/release-10.14.2.0.cgi
此处笔者j下载的是bin版本。
第二步:将derby解压到你想要安装的路径,
笔者解压路径为:
第三步:配置环境变量
与其他软件相似,将bin目录配置到Path环境变量下,lib配置到ClassPath环境变量下
(1)配置DERBY_HOME,变量值为你安装derby的路径
(2)配置Path环境变量
在DOS命令行下运行derby时,操作系统可以找到derby的脚本。bin目录中是可执行的二进制程序
或者可以输入 %DERBY_HOME%\bin
(3)配置classpath环境变量
添加 %HOME_DERBY%\lib\derbytools.jar;%DERBY_HOME%\lib\derby.jar
这样derby运行时就能够找到它需要的扩展包
(4)检测环境变量是否配置成功
介绍一下derby的运行方式:一个服务端,一个客户端,二者要同时打开
使用derby时,要同时打开客户端(ij.bat)和服务端(NetworkServerControlModified.bat )(
第一个:ij.bat为客户端程序,我们在这里创建、连接数据库,写SQL代码
第二个 NetworkServerControl.bat为软件自带的服务端程序,但是由于derby的一些安全策略不太好用,所以我们就自己写一个文件,NetworkServerControlModified.bat
第三个:NetworkServerControlModified.bat 我们自己写的derby服务端启动程序
写这个程序的步骤(1)新建NetworkServerControlModified.txt文件,写入NetworkServerControl start -noSecurityManager 保存(2)将该文件的扩展名改为.bat,放到derby的/bin目录下,即图中的位置。
在cmd下输入ij,显示控制台即环境配置成功
二、创建数据库
1.创建并连接数据库:
(1)先进入需建立数据库的目录下
cd f:/testderby/
(2)输入ij 进入derby
创建数据库myderby, jdbc:derby为协议名称,create为ture时创建数据库,为false时连接数据库
connect 'jdbc:derby:myderby;create=ture';
--建表并插入数据
create table student(ID int ,name char(10));
insert into student values(123,'hanhan');
2.创建数据库中的表等等,语法与SQL相同
注意每一句结尾为分号。
三、与Java web连接
流程:
加载derby驱动—> 建立连接—> 创建数据库—> 执行SQL语句—> 关闭连接
前提:
你已经在derby中建立好数据库,笔者建立的derby数据库位于:f:/testderby/myderby
注意:
将derby安装包中的lib目录下的derby.jar,derbyclient.jar放在WEB-INF/lib目录下。
代码:
package testDerby;
//导入SQL相关的包
import java.sql.*;
/*运行时要开derby服务器端。*/
public class TestJDBC {
//derby的驱动程序,驱动程序的包应放在WEB-INF/lib下。derby.jar,derbyclient.jar
static String driver="org.apache.derby.jdbc.ClientDriver";
//连接数据库时,数据库的路径(url)
static String url="jdbc:derby://localhost:1527/f:/testderby/myderby;create=false";
//SQL需要执行的SQL语句,此处为静态SQL语句statement
static String sql="select * from student";
public static void main(String[] args) {
//声明连接 con
Connection con;
//声明静态SQL语句s
Statement s;
//声明查询结果 rs
ResultSet rs;
try {
Class.forName(driver);//加载驱动;
con=DriverManager.getConnection(url);//连接数据库
s=con.createStatement();
rs=s.executeQuery(sql);
//遍历rs中的结果值
while(rs.next()) {
System.out.println("id="+rs.getInt(1)+"; "+"name= "+rs.getString(2));
}
//关闭连接
s.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}