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

2016-01-29 12:07 2 1 收藏

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

【 tulaoshi.com - Java 】

 

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

  system/manger@to_128

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

  2.创建jbuser用户,指定密码为abc。

  SQL create user jbuser identified by abc;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/java/)

  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的工程。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/java/)

  2.File-New...-Web-双击Web Module(WAR)图标创建一个Web模块,名称取为webModule。选用Tomcat 5.0作为Web应用服务器。

  编写获取数据库连接类

  必须通过数据连接才可以访问数据库,在模块的多个地方都需要获取数据库连接,所以我们编写一个获取数据连接的类,以增强代码的复用率。

  在编写获取数据连接的类时,必须先将Oracle的JDBC驱动器类包classes12.jar加入工程扩展类库中(classes12.jar位于<oracle安装目录/ 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 :

来源:https://www.tulaoshi.com/n/20160129/1484695.html

延伸阅读
Struts是基于Model 2实现的技术框架,Model 2是经典的MVC(Model,View,Control)模型的Web应用变体,这个改变主要由于HTTP协议的无状态性引起的。Model 2的目的和MVC一样,也是利用控制器来分离模型和视图,达到不同层间松散耦合的效果,提高系统灵活性、复用性和可维护性。在多数情况下,你可以将Model 2与MVC等同起来。 图 1表示一...
1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec) 2、创建一个数据库abccs mysql Create DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库 mysql USE abccs Databas...
Servlet和jsp的一个重大的区别即是Servlet可以通过web.XML文件的配置让Servlet在Web容器启动时就自动启动Servlet。可以利用Servlet的这个特性不变化的数据事先加载到Web应用服务器中以便缓存使用。 假设,我们系统的用户在系统部署前就已经创建好,以后不常发生变化,那么我们可以在Web应用程序启动时就将其下载缓存到Web应用服务器内...
用Action控制器替换switch.jsp 在《JBuilder 2005 Servlet高级开发》中我们介绍了用户登录模块的流程,其中switch.jsp充当一个业务处理和页面转发的中心处理器。 !-- frame contents -- !-- /frame contents -- 由于JSP的设计初衷是实现页面展现逻辑,而这里我们居然"倒行逆施",将JSP用作业务处理和页面转发,显然是不...
1、优化import 简而言之,通过优化import的设置可以达到以下的目的: 去除无用的import语句:如在类中没有使用任何包中的类,则这个包的import语句可以删除。 设置包的阈值:当前类引用包中类的数目大于这个阈值时,引入整个包(如import java.io.*),否则为包中每个被引用的类单独指定的一个import语句(如import java.io.File)。 ...

经验教程

816

收藏

64
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部