JSP对Oracle进行增删改查
在IT领域,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而Oracle则是一款广泛使用的大型关系型数据库管理系统。本篇文章将详细讲解如何使用JSP与Oracle数据库进行交互,实现增、删、改、查的基本操作。 我们需要一个模型类来表示数据库中的表结构。在给定的例子中,`stu`类代表了学生表,包含三个属性:sid(学生ID)、name(姓名)和age(年龄)。这些属性对应于数据库表中的列,通过getter和setter方法实现数据的读取和设置。 ```java public class stu { private String sid; private String name; private String age; // Getter and Setter methods } ``` 接下来,我们创建一个`ConnDb`类来处理数据库的连接和操作。这个类包含静态方法来执行不同的数据库操作,如`startconn()`用于建立连接,`endconn()`用于关闭连接,`update(String sql)`用于执行更新操作(如插入、删除、更新记录),以及`getList1(String sql)`用于获取查询结果并将其封装为`ArrayList<stu>`返回。 ```java public class ConnDb { // Database connection and operation class private static Connection con; private static Statement stmt; private static ResultSet rs; public static void startconn() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "", ""); } catch (Exception e) { e.printStackTrace(); } } public static void endconn() throws SQLException { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (con != null) { con.close(); con = null; } } public static void update(String sql) throws SQLException { startconn(); stmt = con.createStatement(); stmt.executeUpdate(sql); endconn(); } public static ArrayList<stu> getList1(String sql) throws SQLException { ArrayList<stu> list = new ArrayList<>(); startconn(); stmt = con.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { stu st = new stu(); st.setSid(rs.getString("sid")); st.setName(rs.getString("name")); st.setAge(rs.getString("age")); list.add(st); } endconn(); return list; } } ``` 在实际应用中,JSP页面会调用`ConnDb`类的方法来与Oracle数据库进行交互。例如,如果要插入一个新学生,可以编写如下JSP代码: ```jsp <%@ page import="db.stu, db.ConnDb" %> <% stu student = new stu(); student.setSid(request.getParameter("sid")); student.setName(request.getParameter("name")); student.setAge(request.getParameter("age")); String sql = "INSERT INTO students (sid, name, age) VALUES ('" + student.getSid() + "', '" + student.getName() + "', '" + student.getAge() + "')"; ConnDb.update(sql); %> ``` 删除、修改和查询操作类似,只需要构建相应的SQL语句并调用`ConnDb`类的相应方法即可。删除操作可能如下: ```jsp String sql = "DELETE FROM students WHERE sid = '" + request.getParameter("sid") + "'"; ConnDb.update(sql); ``` 查询操作可能如下: ```jsp String sql = "SELECT * FROM students WHERE sid = '" + request.getParameter("sid") + "'"; ArrayList<stu> students = ConnDb.getList1(sql); // 然后遍历students列表,将数据展示在页面上 ``` 总结来说,JSP与Oracle数据库进行交互主要通过编写Java类来封装数据库操作,并在JSP页面中调用这些类的方法。这种方式简化了页面逻辑,使得代码更加模块化。在实际开发中,还需要注意SQL注入等安全问题,可以使用PreparedStatement来预编译SQL语句,避免直接拼接字符串导致的安全隐患。同时,为了提高性能和资源利用率,通常会使用连接池来管理数据库连接。
- 粉丝: 1
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助