Derby使用

一.    Derby简介:

新安装了 JDK 6 的程序员们也许会发现,除了传统的 binjre 等目录,JDK 6 新增了一个名为 db 的目录。这便是 Java 6 的新成员:Java DB。这是一个纯 Java 实现、开源的数据库管理系统(DBMS),源于 Apache 软件基金会(ASF)名下的项目 Derby。它只有 2MB 大小,对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby 功能齐备,支持几乎大部分的数据库应用所需要的特性。更难能可贵的是,依托于 ASF 强大的社区力量,Derby 得到了包括 IBM Sun 等大公司以及全世界优秀程序员们的支持。这也难怪 Sun 公司会选择其 10.2.2 版本纳入到 JDK 6 中,作为内嵌的数据库。这就好像为 JDK 注入了一股全新的活力:Java 程序员不再需要耗费大量精力安装和配置数据库,就能进行安全、易用、标准、并且免费的数据库编程。在这一章中,我们将初窥 Java DB 的世界,来探究如何使用它编写出功能丰富的程序。

二.         代码范例:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Properties;

 

public class helloDB {

    public static void main(String[] args) {

       try {

           //加载驱动

           Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();

           Connection conn = null;

           Properties props = new Properties();

           props.put("user", "admin");//设置数据库用户名

           props.put("password", "123456");//设置数据库密码

           //创建和连接数据库userDB

           conn = DriverManager.getConnection(

                  "jdbc:derby:userDB;create=true", props);

           //设置提交状态为手动提交

           conn.setAutoCommit(false);

           //创建表 tuser  注:表名一定不要是关键字

           Statement s = conn.createStatement();

           s.execute("create table tuser(name varchar(40), age int)");

           //插入数据

           s.execute("insert into tuser values('zxm', 25)");

           s.execute("insert into tuser values ('zlm', 24)");

           // 获得数据集合并循环输出

           ResultSet rs = s

                  .executeQuery("SELECT name, age FROM tuser");

           System.out.println("name\t\tage");

           while (rs.next()) {

              StringBuilder builder = new StringBuilder(rs.getString(1));

              builder.append("\t");

              builder.append(rs.getInt(2));

              System.out.println(builder.toString());

           }

           //删除表tuser

           s.execute("drop table tuser");

           rs.close();

           s.close();

           //提交事务

           conn.commit();

           conn.close();//关闭连接

           try {

              DriverManager.getConnection("jdbc:derby:;shutdown=true");

           } catch (SQLException se) {

              System.out.println("Database shut down normally");

           }

       } catch (Throwable e) {

           e.printStackTrace();

       }

    }

 

}

输出结果:

 145812_KwGH_1470832.png

 

转载于:https://my.oschina.net/u/1470832/blog/501714

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值