JBuilder2005实战JSP之创建数据库表(8)

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位于

 1<oracle安装目录>/ jdbc/lib的目录下),我们将classes12.jar放在&lt;工程目录&gt;/oraJdbcLib下。通过以下的步骤在工程扩展类库中引入classes12.jar   
 2Project-&gt;Properties...-&gt;Paths设置页-&gt;切换到Required Libraries-&gt;点击Add...-&gt;在弹出的Add to Project Classpath对话框中切换到Archives标签页,选择工程目录下的&lt;工程目录&gt;/oraJdbcLib /classes12.jar 
 3
 4OracleJDBC驱动器类包classes12.jar引入工程扩展类库后,在工程中创建DBConnection类,其代码如下所示: 
 5
 6代码清单 3 DBConnection.java 
 7
 81\. package bookstore;   
 92\.   
103\. import java.sql.*;   
114\. import java.util.Properties;   
125\.   
136\. public class DBConnection {   
147\. //获取数据库连接类   
158\. public static Connection getConnection() throws SQLException {   
169\. try {   
1710\. Class.forName("oracle.jdbc.driver.OracleDriver");   
1811\. } catch (ClassNotFoundException ex) {   
1912\. ex.printStackTrace();   
2013\. return null;   
2114\. }   
2215\. Properties sysProps = new Properties();   
2316\. sysProps.put("user", "jbuser");   
2417\. sysProps.put("password", "abc");   
2518\. return DriverManager.getConnection(   
2619\. "jdbc:oracle:thin:@192.168.0.128:1521:ora9i", sysProps);   
2720\. }   
2821\. } 
29
30该类仅提供了一个静态方法getConnection(),用jbuser/abc获取位于192.168.0.128SIDora9i的数据连接。 
31
32获取数据库连接有两个关键点: 
33
341、指定数据库驱动器类 
35
36如第10行代码所示,OracleJDBC驱动器类名是:oracle.jdbc.driver.OracleDriver,不同数据库有自己的JDBC数据库驱动器,如果你使用其它数据库,请自行查阅相关的资料。 
37
382、指定数据库的URL连接串 
39
40在第19行中,我们指定了一个数据库URL连接串,不同数据库的URL连接串格式也不一样,对于Oracle数据库来说,数据库URL连接串包含4个部分: 
41
42·jdbc:oracle:thin :指定JDBC驱动器的类型,这里指定用瘦客户端驱动器,无需在连接客户端安装其他的组件,最为常用。 
43
44·@192.168.0.128 :数据库所在机器的IP,也可以用机器名。 
45
46·1521 :数据库监听器所在的端口,一般情况下Oracle默认在1521端口。 
47
48·ora9i :数据库SID名称。</oracle安装目录>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus