derby学习笔记(by quqi99)

 derby学习笔记 ( by quqi99 )


作者:张华 发表于:2009-10-15
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。
http://blog.csdn.net/quqi99

 

 

package derby;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
 * @version 0.10 2009-10-15
 * @author Zhang Hua
 */
public class DerbyTest {
    /* 缺省的模式是内嵌式的*/
    public String driverType = "embedded";
    public String driver = "org.apache.derby.jdbc.EmbeddedDriver";
    public String protocol = "jdbc:derby:";

    /**
     *  1) 使用ij工具进行数据库的操作,在命令提示符下输入ij
     *  2) 创建数据库:connect 'jdbc:derby:d:/testBD;create=true'; 在d盘根目录下创建了一个名字叫testdb的数据库
     *  3) 带模连接到数据库: connect 'jdbc:derby:d:/testDB;user=admin;password=password';
     *  4) 在数据库中建立一个表 create table testTable(id varchar(3),name varchar(6),age varchar(2));
        5) 查看表的结构: describe testTable;
        6) 创建有模式的表 create table user1.testTable(id varchar(3),name varchar(6),age varchar(2));
        7) 查看数据库下所有的表 show tables;
        8) 退出derby数据库 exit;
       
        1,嵌入式模式只放derby.jar一个包即可;
        2,网络模式还需要derbyclient.jar, 若是使用db2通用驱动,需要db2jcc.jar,db2jcc_license_c.jar (但是我用JCC驱动未试通)
        3,如果使用localhost可以连接,使用IP却不能连接的话,应该这样启动derby : NetworkServerControl start -h 192.168.1.51 -p 1527

           或者: java -jar %DERBEY_HOME%\lib\derbyrun.jar server start
     */
    public void test(String[] args) throws Exception{
        int length = args.length;
        for (int index = 0; index<length; index++){
            if (args[index].equalsIgnoreCase("jccclient")){
                //JCC驱动未调通,报错为:com.ibm.db2.jcc.am.io: [jcc][10165][10048][3.57.82] 数据库 URL 语法 jdbc:derby:net://192.168.1.51:1527/d:/testDB;create=true;user=admin;password=password 无效。 ERRORCODE=-4461, SQLSTATE=42815
                driverType = "jccclient";
                driver = "com.ibm.db2.jcc.DB2Driver";
                protocol = "jdbc:derby:net://192.168.1.51:1527/";
            }
            if (args[index].equalsIgnoreCase("derbyclient")){
                driverType = "derbyclient";
                driver = "org.apache.derby.jdbc.ClientDriver";
                protocol = "jdbc:derby://192.168.1.51:1527/";
            }
        }

        Class.forName(driver).newInstance();
        System.out.println(driver);
        Connection conn = DriverManager.getConnection(protocol +"d://testDB;create=true;user=admin;password=password");

        conn.setAutoCommit(false);
        Statement s = conn.createStatement();
        //create table
        s.execute("create table derbyDB(num int, addr varchar(40))");
        //insert data
        s.execute("insert into derbyDB values (1956,'Webster St.')");
        s.execute("insert into derbyDB values (1910,'Union St.')");
        //update data
        s.execute("update derbyDB set num=180, addr='Grand Ave.' where num=1956");
        s.execute("update derbyDB set num=300, addr='Lakeshore Ave.' where num=180");
        //query data
        ResultSet rs = s.executeQuery("SELECT num, addr FROM derbyDB ORDER BY num");
        if (rs.next()){
            System.out.println(rs.getInt(1));
        }
        //delete table
        s.execute("drop table derbyDB");
        rs.close();
        s.close();
        System.out.println("Closed result set and statement");
        conn.commit();
        conn.close();
       
        //关闭数据库服务
        //DriverManager.getConnection("jdbc:derby:;shutdown=true");
    }
   
    public static void main(String[] args){
        String type = "jccclient";
        //type = "derbyclient";
        String[] paras = new String[1];
        paras[0] = type;
        try {
            new DerbyTest().test(paras);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

quqi99

你的鼓励就是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值