「java操作derby」java操作mysql数据库
今天给各位分享java操作derby的知识,其中也会对java操作mysql数据库进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
最近在学java,但是一直连接不上derby数据库,请大神帮忙,最好能有详细步骤。
1,下载并安装Derby:
下载地址: /derby_downloads.html,下载最新版本。
我用的是10.5.3.0。
解压缩到任意文件夹,我的是:E:\Java\Joy\derby
2,配置环境变量:
建立DERBY_HOME,值:E:\Java\Joy\derby\db- derby-10.5.3.0-bin\db-derby-10.5.3.0-bin
在Path加入:%DERBY_HOME%\bin
在CLASSPATH加入:%DERBY_HOME%\lib \derby.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar
3,测试看看Derby安装成功没有
开始—Run—CMD
运行 sysinfo
如果安装成功,将会看到相关信息,下面是截取的部分信息。
——— Derby 信息 ——–
JRE – JDBC: Java SE 6 – JDBC 4.0
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derby.jar] 10
.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbytools.ja
r] 10.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbynet.jar]
10.5.3.0 – (802917)
[E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin\lib\derbyclient.j
ar] 10.5.3.0 – (802917)
4,创建和使用数据库
打开命令行,进入想要放置数据库的目录,我的是:E:\Java\Joy \derby\Derby_data
然后输入ij
将会看到:
ij 版本 10.5
ij
接下来就可以创建数据库了。
例:
创建firstdb数据库:
ij connect ‘jdbc:derby:firstdb;create=true’;
连接firstdb数据库:
ij connect ‘jdbc:derby:firstdb’;
查询数据库等操作,只需要输入相应的Sql语句即可。
创建一个table:
create table firsttable(id int primary key, name varchar(20));
插入数据:
insert into firsttable values(1, ‘Hotpepper’);
在命令行测试一下:
select * from firsttable;
结果如下:
ID |NAME
——————————–
1 |Hotpepper
其它命令
断开连接:
ij disconnect;
退出ij:
ij exit;
5,在Java程序中使用Derby
首先要把相关的Derby jar包加进来(Build Path)。
把derby.jar加进来,如果没有加进来会出现 “java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver”错误
好了,下面写JAVA代码进行测试:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
private static String driver = “org.apache.derby.jdbc.EmbeddedDriver”;
private static String protocol = “jdbc:derby:”;
String dbName = “E:\\Java\\Joy\\derby\\Derby_data\\firstdb”;
static void loadDriver() {
try {
Class.forName(driver).newInstance();
System.out.println(“Loaded the appropriate driver”);
} catch (Exception e) {
e.printStackTrace();
}
}
public void doIt() {
Connection conn = null;
Statement s = null;
ResultSet rs = null;
System.out.println(“starting”);
try {
conn = DriverManager.getConnection(protocol + dbName
+ “;create=true”);
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println(“Connected to and created database ” + dbName);
try {
s=conn.createStatement();
rs=s.executeQuery(“select * from firsttable”);
while (rs.next()) {
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
}
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
conn.close();
conn = null;
s.close();
s = null;
rs.close();
rs = null;
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Test t = new Test();
t.loadDriver();
t.doIt();
}
}
OK,完成了。
—————————————————-
附:复制粘贴Derby数据库:
备份Derby数据库(derby-10.5.3.0)
小试了一下,很简单的,就复制粘贴就好了。
找到想要复制的数据库文件夹,比如:
C:\Program Files\SQuirreL SQL Client\firstdb
我们就把整个firstdb文件夹复制下来,然后粘贴到想要粘贴的地方。
就那么简单。
以上是我突发奇想试试看,没想到就成了。在网上搜了一下,貌似derby备份的方法不是这样的,而这种方法莫非是传说中的“热备份”?
6,在DbVisualizer中使用Derby
选择Database时选择到数据库的目录。
体验纯Java数据库——Derby
Apache Derby是一个开源的 % Java编写的 与平台无关的 易管理的关系数据库管理系统 Derby为用户提供了轻量的标准数据库引擎 它可以紧密的嵌入到任何基于Java的解决方案中 Derby确保数据完整性 并提供负责的事务处理操作 默认的配置中不包含任何独立的数据库服务器 同时 Derby 的安装过程非常简单 只需要将其 jar 文件复制到系统中并为您的项目添加该 jar 文件即可
Derby拥有一个令人惊奇的特性列表 它可以支持关系数据库中的所有企业级的特性 包括崩溃恢复 事务回滚和提交 行/表级锁 视图 主键/外键约束 触发器 子查询表达式 等等 一部分的列表特性使Derby从其他的Java 关系数据库管理系统中分离出来
Derby可以有两种部署方式
嵌入式 Derby被单个用户的Java应用程序使用 在这种模式下 Derby和应用程序运行在同一个JVM中 Derby对于终端用户几乎是透明的 因为它的启动和终止都是由应用程序来控制 而不需要任何的管理
服务器模式 Derby由应用程序启动 此时通过用户可以通过网络连接 在这种模式下 Derby运行在服务器主机的JVM中 其他JVM的应用程序通过连接服务器来访问数据库
在MyEclipse里默认已经集成了Derby数据库 启动Derby只需点击MyEclipse Derby的Start即可 如下图所示
切换到Database视图 右键选择 new 配置数据库连接 如下图所示
其中Driver name自定义 test是当前要新建的数据库名称 Username和Password随便填 而Jar包在MyEclipse 安装目录
\myeclipse\eclipse\plugins\ genuitec eclipse derby_ zmyeclipse \lib下;
配置好后右键选择 Open Connection 进行连接 连接上后右键 connected to MyEclipse Derby 选择 New Sql Editor 然后就可以使用SQL命令进行建表操作了
lishixinzhi/Article/program/SQL/201311/16399
java操作derby数据库和操作sql数据库有什么区别
import java.sql.ResultSet; //都是导入一些下面需要用到的类
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";//jdbc连接数据库url
public sqlServer() {
try {
Class.forName(DBDriver).newInstance(); //加载SQLServer驱动程序,DBDriver是你上面的代码;
conn=DriverManager.getConnection(ConnStr,"sa","sa"); //和数据库建立连接,ConnStr里面的://WINJUE:1433;DatabaseName=library 分别是主机地址:端口号;你自己建的数据库(database)
}
catch(SQLException e) { //捕获SQL异常
System.out.println(e.getMessage()); //要是出现异常,捕获到后,这句代码会把异常的信息(出错的原因之类的)打印出来。
}
catch(Exception e) { //捕获异常,这个是总的,所以不能和上面的顺序颠倒,先小到大,我连ORACLE和MYSQL,这个我通常不要,只须捕获SQL异常就OL
System.out.println(e.getMessage());
}
}
public Connection getConn(){ //获取连接方法
return conn;
}
public void insert(String sql) {//增删改
try {
Statement stm=conn.createStatement(); 调用conn下的方法,创建Statement对象
stm.executeUpdate(sql);//调用Statement下的方法执行SQL语句
System.out.println("操作成功");
}
catch(Exception e){
System.out.println(e.getMessage()); //如上
}
}
public ResultSet query(String sql){ //查询
try{
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stm.executeQuery(sql); //如上
}
catch(Exception e){
System.out.println(e.getMessage());
}
return rs;
}
public static void main(String args[]){
sqlServer conn=new sqlServer(); //创建sqlServer,就是你上面的类,以便调用里面的方法
ResultSet rs=conn.query("select * from Orders"); //调用query方法,执行SQL语句后,把结果保存到结果集里
//conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'");
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')");
try{
while(rs.next()){ //循环,判断结果集里的记录,一条条往下走,是否还有下一条记录,若是返回真,继续走
System.out.print(rs.getString("OrderID"));
//System.out.print(rs.getString("U_age"));
}
rs.close() ; //关闭结果集
}
catch (Exception e){
System.out.println(e.getMessage());
}
}
}
注:
TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至能进行特定定位,例如移至列表中的第四个记录或从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。
java操作derby的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java操作mysql数据库、java操作derby的信息别忘了在本站进行查找喔。