在JSP中获取数据库连接

1.在Oracle的SQL Plus工具中,以具有DBA权限的用户登录数据库。
system/manger@to_128

@后的to_128为数据库的连接串名,需要根据具体情况更改,如果数据库是在本地,则可以省略@和连接串。

2.创建Jbuser用户,指定密码为abc。
SQL> create user Jbuser identified by abc;

3.JSP为Jbuser用户分配connect和resource角色权限。
SQL> grant connect ,resource to Jbuser;

4.用Jbuser登录数据库
SQL> connect Jbuser/abc@to_128;

5.创建用户表和序列,在SQL> 命令中运行下面的sql代码。
创建表和序列的代码:

 
 
 
  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. --创建索引,用于生成T_LOGIN_LOG表的主键
  17. create sequence SEQ_LOGIN_LOG_ID
  18. increment by 1
  19. maxvalue 999999999999
  20. minvalue 100000000000;

6.在T_USER用户表中插入3历史人物作为初始用户,在SQL>命令中运行下面的sql代码。
往T_USER表中插入3条记录,创建工程及Web模块,在创建数据库后,打开JBuilder.

 
 
 
  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模块。
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引入工程扩展类库后,JSP在工程中创建DBConnection类,其代码如下所示:

代码DBConnection.Java

 
 
 
  1. package bookstore;
  2. import java.sql.*;
  3. import java.util.Properties;
  4. public class DBConnection {
  5.  //获取数据库连接类
  6. public static Connection getConnection() throws SQLException {
  7.  try {
  8.   Class.forName("oracle.jdbc.driver.OracleDriver");
  9.  } catch (ClassNotFoundException ex) {
  10.   ex.printStackTrace();
  11.  return null;
  12.  }
  13.  Properties sysProps = new Properties();
  14.  sysProps.put("user", "jbuser");
  15.  sysProps.put("password", "abc");
  16.  return DriverManager.getConnection(
  17.  "jdbc:oracle:thin:@192.168.0.128:1521:ora9i", sysProps);
  18.  }
  19. }

该类仅提供了一个静态方法getConnection(),用Jbuser/abc获取位于192.168.0.128,SID为ora9i的数据连接。

获取数据库连接有两个关键点:

1、指定数据库驱动器类

如第10行代码所示,Oracle的JDBC驱动器类名是:oracle.Jdbc.driver.OracleDriver,不同数据库有自己的JDBC数据库驱动器,如果你使用其它数据库,请自行查阅相关的资料。

2、指定数据库的URL连接串

在第19行中,我们指定了一个数据库URL连接串,不同数据库的URL连接串格式也不一样,JSP对于Oracle数据库来说,数据库URL连接串包含4个部分:
◆Jdbc:oracle:thin :指定JDBC驱动器的类型,这里指定用瘦客户端驱动器,无需在连接客户端安装其他的组件,最为常用。
◆192.168.0.128 :数据库所在机器的IP,也可以用机器名。
◆1521 :数据库监听器所在的端口,一般情况下Oracle默认在1521端口。
◆ora9i :数据库SID名称。

网页名称:在JSP中获取数据库连接
网站URL:http://www.shufengxianlan.com/qtweb/news11/433511.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联