| |
1.在oracle的sql plus工具中,以具有dba权限的用户登录数据库。
system/manger@to_128
@后的to_128为数据库的连接串名,需要根据具体情况更改,如果数据库是在本地,则可以省略@和连接串。
2.创建jbuser用户,指定密码为abc。
sql> create user jbuser identified by abc;
3.为jbuser用户分配connect和resource角色权限。
sql> grant connect ,resource to jbuser;
4.用jbuser登录数据库
sql> connect jbuser/abc@to_128;
5.创建用户表和序列,在sql> 命令中运行下面的sql代码。
代码清单 1 创建表和序列的代码:
1. --创建用户表
2. create table t_user (
3. user_id char(6) not null,
4. user_name varchar2(60),
5. password varchar2(20),
6. constraint pk_t_user primary key (user_id)
7. );
8. --创建登录日志表
9. create table t_login_log (
10. id char(12) not null,
11. user_id char(6) not null,
12. dt_login char(14) not null,
13. dt_lonout char(14),
14. constraint pk_t_login_log primary key (id)
15. );
16.
17. --创建索引,用于生成t_login_log表的主键
18. create sequence seq_login_log_id
19. increment by 1
20. maxvalue 999999999999
21. minvalue 100000000000;
|
6.在t_user用户表中插入3历史人物作为初始用户,在sql>命令中运行下面的sql代码。
代码清单 2 往t_user表中插入3条记录
1. insert into t_user(user_id,user_name,password) values('100000','姜子牙','123456');
2. insert into t_user(user_id,user_name,password) values('100001','鲍叔牙','123456');
3. insert into t_user(user_id,user_name,password) values('100002','竖牙','123456');
4. commit;
|
创建工程及web模块
在创建数据库后,打开jbuilder,创建工程和web模块。
1.file->new project...创建一个名为bookstore的工程。
2.file->new...->web->双击web module(war)图标创建一个web模块,名称取为webmodule。选用tomcat 5.0作为web应用服务器。
编写获取数据库连接类
必须通过数据连接才可以访问数据库,在模块的多个地方都需要获取数据库连接,所以我们编写一个获取数据连接的类,以增强代码的复用率。
在编写获取数据连接的类时,必须先将oracle的jdbc驱动器类包classes12.jar加入工程扩展类库中(classes12.jar位于/ jdbc/lib的目录下),我们将classes12.jar放在<工程目录>/orajdbclib下。通过以下的步骤在工程扩展类库中引入classes12.jar:
project->properties...->paths设置页->切换到required libraries->点击add...->在弹出的add to project classpath对话框中切换到archives标签页,选择工程目录下的<工程目录>/orajdbclib /classes12.jar。
将oracle的jdbc驱动器类包classes12.jar引入工程扩展类库后,在工程中创建dbconnection类,其代码如下所示:
代码清单 3 dbconnection.java
1. package bookstore;
2.
3. import java.sql.*;
4. import java.util.properties;
5.
6. public class dbconnection {
7. //获取数据库连接类
8. public static connection getconnection() throws sqlexception {
9. try {
10. class.forname("oracle.jdbc.driver.oracledriver");
11. } catch (classnotfoundexception ex) {
12. ex.printstacktrace();
13. return null;
14. }
15. properties sysprops = new properties();
16. sysprops.put("user", "jbuser");
17. sysprops.put("password", "abc");
18. return drivermanager.getconnection(
19. "jdbc:oracle:thin:@192.168.0.128:1521:ora9i", sysprops);
20. }
21. }
|
该类仅提供了一个静态方法getconnection(),用jbuser/abc获取位于192.168.0.128,sid为ora9i的数据连接。
获取数据库连接有两个关键点:
1、指定数据库驱动器类
如第10行代码所示,oracle的jdbc驱动器类名是:oracle.jdbc.driver.oracledriver,不同数据库有自己的jdbc数据库驱动器,如果你使用其它数据库,请自行查阅相关的资料。
2、指定数据库的url连接串
在第19行中,我们指定了一个数据库url连接串,不同数据库的url连接串格式也不一样,对于oracle数据库来说,数据库url连接串包含4个部分:
?jdbc:oracle:thin :指定jdbc驱动器的类型,这里指定用瘦客户端驱动器,无需在连接客户端安装其他的组件,最为常用。
?@192.168.0.128 :数据库所在机器的ip,也可以用机器名。
?1521 :数据库监听器所在的端口,一般情况下oracle默认在1521端口。
?ora9i :数据库sid名称。 |
|