javaDBDerby)新手教程,javaDB安装,创建数据库,在Java程序中

1..下载安装、配置环境、测试

下载地址(现在最新版本Java DB 10.9.1.0

http://db.apache.org/derby/

运行安装,默认安装在C:\Program Files\Sun\JavaDB路径下,如果不想配置环境变量就想马上就用的话,就运行C:\Program Files\Sun\JavaDB\bin\ij.bat即可,当然这样做不好,不能自己选择数据库内容存储在那个目录下。我们还是来配置一下环境变量吧,就简单一点配置,不配置那些什么DERBY_HOME了,直接在系统“环境变量”的Path里面加入:C:\Program Files\Sun\JavaDB\bin
这样就可以了,开始—run—cmd,输入
sysinfo测试一下,会看到一些Derby信息,这就成功了。

好,我们来创建数据库,首先先选择一个路径,用来存放数据库内容的。

就存放在C:\MyDerby目录下吧,输入 cd C:\MyDerby 回车 这就可以了

然后输入
ij

将会看到:

ij 版本 10.9(你自己安装的版本)
ij>

接下来就可以创建数据了

2.创建数据库、创建表、向表插入数据、查询表

数据库创建、连接

ij> connect ‘jdbc:derby:myderby;create=true’;
这句话的意思是连接到这个数据库,该数据库不存在就创建一个

ij> connect ‘jdbc:derby:myderby’;
这是连接到这个数据库

创建表:

create table firsttable(id int primary key, name varchar(20));

插入数据:

insert into firsttable values(1, 'wahaha');

查询表:

select * from firsttable;

结果如下:

ID         |NAME
——————————–
1          |wahaha

其它命令
断开连接:
ij> disconnect;
退出ij
ij> exit;

3.Java程序中使用Derby
首先要把Derby驱动包加进来,该文件可以在C:\Program Files\Sun\JavaDB\lib找到,就是derby.jar
下面是官方的一个程序

 

 
      
  1. public class HelloJavaDB { 
  2.     public static void main(String[] args) { 
  3.         try { // load the driver 
  4.             Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance(); 
  5.             System.out.println("Load the embedded driver"); 
  6.             Connection conn = null
  7.             Properties props = new Properties(); 
  8.             props.put("user""user1"); props.put("password""user1"); 
  9.            //create and connect the database named helloDB 
  10.             conn=DriverManager.getConnection("jdbc:derby:helloDB;create=true", props); 
  11.             System.out.println("create and connect to helloDB"); 
  12.             conn.setAutoCommit(false); 
  13.  
  14.             // create a table and insert two records 
  15.             Statement s = conn.createStatement(); 
  16.             s.execute("create table hellotable(name varchar(40), score int)"); 
  17.             System.out.println("Created table hellotable"); 
  18.             s.execute("insert into hellotable values('Ruth Cao', 86)"); 
  19.             s.execute("insert into hellotable values ('Flora Shi', 92)"); 
  20.             // list the two records 
  21.             ResultSet rs = s.executeQuery( 
  22.                 "SELECT name, score FROM hellotable ORDER BY score"); 
  23.             System.out.println("name\t\tscore"); 
  24.             while(rs.next()) { 
  25.                 StringBuilder builder = new StringBuilder(rs.getString(1)); 
  26.                 builder.append("\t"); 
  27.                 builder.append(rs.getInt(2)); 
  28.                 System.out.println(builder.toString()); 
  29.             } 
  30.             // delete the table 
  31.             s.execute("drop table hellotable"); 
  32.             System.out.println("Dropped table hellotable"); 
  33.             
  34.             rs.close(); 
  35.             s.close(); 
  36.             System.out.println("Closed result set and statement"); 
  37.             conn.commit(); 
  38.             conn.close(); 
  39.             System.out.println("Committed transaction and closed connection"); 
  40.             
  41.             try { // perform a clean shutdown 
  42.                 DriverManager.getConnection("jdbc:derby:;shutdown=true"); 
  43.             } catch (SQLException se) { 
  44.                 System.out.println("Database shut down normally"); 
  45.             } 
  46.         } catch (Throwable e) { 
  47.             // handle the exception 
  48.         } 
  49.         System.out.println("SimpleApp finished"); 
  50.     } 

我们刚才不是让数据库内容具体存放在哪里吗?编程同样也能实现,我们就指定到刚才那个数据库

conn=DriverManager.getConnection("jdbc:derby:D:\\derby\\myderby;create=true", props);

这样做对热备份复制的数据库还原比较方便,直接修改一下目录即可。