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 下面是官方的一个程序
- public class HelloJavaDB {
- public static void main(String[] args) {
- try {
- Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
- System.out.println("Load the embedded driver");
- Connection conn = null;
- Properties props = new Properties();
- props.put("user", "user1"); props.put("password", "user1");
-
- conn=DriverManager.getConnection("jdbc:derby:helloDB;create=true", props);
- System.out.println("create and connect to helloDB");
- conn.setAutoCommit(false);
-
-
- Statement s = conn.createStatement();
- s.execute("create table hellotable(name varchar(40), score int)");
- System.out.println("Created table hellotable");
- s.execute("insert into hellotable values('Ruth Cao', 86)");
- s.execute("insert into hellotable values ('Flora Shi', 92)");
-
- ResultSet rs = s.executeQuery(
- "SELECT name, score FROM hellotable ORDER BY score");
- System.out.println("name\t\tscore");
- while(rs.next()) {
- StringBuilder builder = new StringBuilder(rs.getString(1));
- builder.append("\t");
- builder.append(rs.getInt(2));
- System.out.println(builder.toString());
- }
-
- s.execute("drop table hellotable");
- System.out.println("Dropped table hellotable");
-
- rs.close();
- s.close();
- System.out.println("Closed result set and statement");
- conn.commit();
- conn.close();
- System.out.println("Committed transaction and closed connection");
-
- try {
- DriverManager.getConnection("jdbc:derby:;shutdown=true");
- } catch (SQLException se) {
- System.out.println("Database shut down normally");
- }
- } catch (Throwable e) {
-
- }
- System.out.println("SimpleApp finished");
- }
- }
我们刚才不是让数据库内容具体存放在哪里吗?编程同样也能实现,我们就指定到刚才那个数据库 conn=DriverManager.getConnection("jdbc:derby:D:\\derby\\myderby;create=true", props); 这样做对热备份复制的数据库还原比较方便,直接修改一下目录即可。 |