`
yaodi0818
  • 浏览: 135195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Derby数据库的安装和使用

阅读更多
Derby数据库介绍:
Derby并不是一个新的数据库产品,它是由IBM捐献给Apache的DB项目的一个纯Java数据库,JDK6.0里面带的这个Derby的版本是10.2.1.7,支持存储过程和触发器;有两种运行模式,一种是作为嵌入式数据库,另一种是作为网络数据库,前者的数据库服务器和客户端都在同一个JVM里面运行,后者允许数据库服务器端和客户端不在同一个JVM里面,而且允许这两者在不同的物理机器上.值得注意的是JDK6里面的这个Derby支持JDK6的新特性JDBC 4.0规范(JSR 221),现在我们如果要练习JDBC的用法,没有必要单独装一个数据库产品了,直接用Derby就行.

Derby官方网址:http://db.apache.org/derby/

下载Eclipse的Derby插件:derby_core_plugin、derby_ui_plugin

下面是个使用derby的简单例子:
1.为项目增加Derby插件支持,选择Add Apache Derby nature

2.启动derby数据库服务器。启动derby数据库客户端ij。
通过ij创建并连接到服务器端:


3.代码实例
public class DerbyBaiscTest {
	public static void main(String[] args) {
		try {           
			Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();// 加载驱动
		    Connection conn = DriverManager.getConnection("jdbc:derby:userDB;create=true;user=test;password=test");// 连接数据库
		    Statement st = conn.createStatement(); 
		    st.execute("create table USERS(ID BIGINT not null generated by default as identity, USERNAME VARCHAR(50) not null, PASSWORD VARCHAR(50), constraint P_KEY_1 primary key (ID))");// 建表
		    st.executeUpdate("insert into USERS(USERNAME, PASSWORD) values ('admin', 'admin')");// 插入数据
		    ResultSet rs = st.executeQuery("select * from USERS");// 读取数据
		    conn.commit();
		    while(rs.next()){ 
		        System.out.println("ID=" + rs.getInt(1)); 
		        System.out.println("USERNAME=" + rs.getString(2)); 
		        System.out.println("PASSWORD=" + rs.getString(3)); 
		    } 
		} catch(Exception e){ 
			e.printStackTrace(); 
		} 	    
	} 
}



连接到名为userDB的数据库
地址为:localhost:1527
create=true,如果不存在这个数据库,就在服务器端创建
username=test;password=test,如果是新建数据库将新建用户和密码


4.Derby的SQL脚本:create.sql,内容:
create table USERS(
            ID                   BIGINT                 not null generated by default as identity,
            USERNAME             VARCHAR(50)            not null, 
            PASSWORD             VARCHAR(50), 
            constraint P_KEY_1 primary key (ID)); 
执行脚本的命令:
run 'create.sql';

创建了 USERS表,包括ID,USER_NAME,PASSWORD三个列,其中ID是主键,其中generated by default as identity 的作用类似sequence,identity是定义自动加一的列,
GENERATED BY ALWAYS AS IDENTITY
GENERATED BY DEFAULT AS IDENTITY
By always和by default是说明生成这个IDENTITY的方式。
By always是完全由系统自动生成。
by default是可以由用户来指定一个值。
  • 大小: 62.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics