在JSP中获取数据库连接

开发 后端
本文介绍在JSP中获取数据库连接,包可指定数据库驱动器类和指定数据库的URL连接串。

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代码。
创建表和序列的代码:

--创建用户表  
create table T_USER (  
USER_ID CHAR(6) not null,  
USER_NAME VARCHAR2(60),  
PASSWORD VARCHAR2(20),  
constraint PK_T_USER primary key (USER_ID)  
);  
--创建登录日志表  
create table T_LOGIN_LOG (  
ID CHAR(12) not null,  
USER_ID CHAR(6) not null,  
DT_LOGIN CHAR(14) not null,  
DT_LONOUT CHAR(14),  
constraint PK_T_LOGIN_LOG primary key (ID)  
);  
--创建索引,用于生成T_LOGIN_LOG表的主键  
create sequence SEQ_LOGIN_LOG_ID  
increment by 1  
maxvalue 999999999999  
minvalue 100000000000; 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

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

insert into T_USER(USER_ID,USER_NAME,PASSWORD) values('100000','姜子牙','123456');  
insert into T_USER(USER_ID,USER_NAME,PASSWORD) values('100001','鲍叔牙','123456');  
insert into T_USER(USER_ID,USER_NAME,PASSWORD) values('100002','竖牙','123456');  
commit; 
  • 1.
  • 2.
  • 3.
  • 4.

创建工程和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

package bookstore;  
import java.sql.*;  
import java.util.Properties;  
public class DBConnection {  
 //获取数据库连接类  
public static Connection getConnection() throws SQLException {  
 try {  
  Class.forName("oracle.jdbc.driver.OracleDriver");  
 } catch (ClassNotFoundException ex) {  
  ex.printStackTrace();  
 return null;  
 }  
 Properties sysProps = new Properties();  
 sysProps.put("user", "jbuser");  
 sysProps.put("password", "abc");  
 return DriverManager.getConnection(  
 "jdbc:oracle:thin:@192.168.0.128:1521:ora9i", sysProps);  
 }  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 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名称。

【编辑推荐】

  1. 浅析JSP服务器
  2. 监视JSP中JVM可用内存
  3. JSP的Init和Destory函数提高工作效率
  4. 浅析JSP编译器基本语法
  5. 浅析编写JSP Tag
责任编辑:佚名 来源: IT168
相关推荐

2009-06-30 14:37:08

数据库JSP

2009-07-14 18:13:36

Microsoft J

2009-07-07 14:56:33

JSP连接MySQL

2009-06-30 14:59:36

连接数据库JSP入门

2023-10-29 17:15:57

2010-05-20 09:45:22

连接MySQL

2009-03-16 09:09:18

数据库JDBCJSP

2009-06-30 15:54:00

数据库访问JSP

2010-09-06 17:24:48

连接DB2数据库

2010-03-04 17:19:40

2009-07-02 09:00:25

JDBC设计JSP访问数据库

2009-07-03 17:37:54

JSP数据库

2011-06-10 10:31:57

QT mysql linux

2009-07-02 14:24:02

JSP读取数据库

2009-07-03 13:10:06

SQL Server2tomcatJSP

2009-06-30 15:15:30

JSP数据库

2009-07-08 15:13:00

获取所session数JSPServlet

2009-07-01 11:08:14

JSP DestoryJSP Init数据库链接

2011-08-02 13:44:49

JSPJDBCSQL Server

2023-08-01 09:30:12

SQL Server数据库
点赞
收藏

51CTO技术栈公众号