Struts2整合Oracle数据库操作:增删改查实战

5星 · 超过95%的资源 需积分: 9 215 下载量 97 浏览量 更新于2024-07-23 收藏 148KB DOC 举报
"Struts2连接Oracle数据库进行增删改查操作的实例教程" 在这个实例中,我们将探讨如何使用Struts2框架与Oracle数据库协同工作,实现对数据的常见操作,包括增(添加)、删(删除)、改(修改)和查(查询)。首先,为了能够连接到Oracle数据库,我们需要在项目的`lib`目录下放置必要的驱动类库,分别是`class12.jar`和`oracle14.jar`。这两个JAR文件提供了Oracle JDBC驱动,使得Java程序能够与Oracle数据库进行通信。 接下来,我们创建一个名为`users`的表来存储用户信息,表结构如下: ```sql CREATE TABLE users ( id NUMBER NOT NULL, username VARCHAR2(20), password VARCHAR2(30) ); ``` 为了自动为`id`字段生成唯一值,我们创建了一个名为`users_xh`的序列和两个触发器。第一个触发器`users_increase_before`会在插入新记录前运行,将序列`users_xh`的值赋给新记录的`id`字段。第二个触发器`users_increase_after`在插入后执行,更新序列`users_xh`的值,使其递增,确保下一次插入时可以获取新的唯一`id`。 触发器的创建代码如下: ```sql CREATE OR REPLACE TRIGGER users_increase_before BEFORE INSERT ON users FOR EACH ROW BEGIN SELECT users_xh.xh_id + 1 INTO :NEW.id FROM users_xh; END users_increase_before; CREATE OR REPLACE TRIGGER users_increase_after AFTER INSERT ON users FOR EACH ROW DECLARE -- local variables here BEGIN UPDATE users_xh SET xh_id = users_xh.xh_id + 1; END users_increase_after; ``` 然后,我们创建一个名为`DatabaseTest`的Java类,该类包含了获取数据库连接的方法。在类中,我们定义了数据库驱动、URL、用户名和密码的常量,并使用`DriverManager.getConnection()`方法建立连接。示例代码如下: ```java public class DatabaseTest { private static Connection getConn() { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String username = "scott"; // 数据库用户名 String password = "tiger"; // 数据库用户密码 Connection conn = null; try { Class.forName(driver); conn = DriverManager.getConnection(url, username, password); System.out.println("connect success"); } catch (ClassNotFoundException e) { e.printStackTrace(); } return conn; } // 其他数据库操作方法如增删改查会在这里实现 } ``` 至此,我们已经建立了数据库连接并准备好执行增删改查操作的基础。在Struts2框架中,通常会创建Action类来处理用户请求,并在这些Action类中调用`DatabaseTest`类的方法来执行实际的数据库操作。例如,我们可以创建`AddUserAction`、`DeleteUserAction`、`UpdateUserAction`和`QueryUserAction`,分别对应用户的添加、删除、更新和查询功能。 在Struts2的配置文件中,我们需要定义这些Action的映射,指定它们对应的类和结果视图。Action类中的方法通常会返回一个表示操作结果的字符串,Struts2会根据这个结果字符串决定跳转到哪个页面展示操作结果。 这个实例展示了如何利用Struts2框架结合Oracle数据库进行数据操作的基本流程。通过这个实例,开发者可以学习到如何设置数据库连接、创建触发器以及在Struts2中组织Action来实现CRUD功能。