使用IDEA对Oracle数据库进行简单增删改查操作

本文介绍了使用IntelliJ IDEA连接Oracle数据库并进行增删改查操作的步骤。首先,需要导入Oracle JDBC驱动jar包,然后通过JDBC建立连接。文章详细讲解了如何编写Java代码进行数据库连接、插入、删除和更新操作,并提供了通用方法来简化代码,降低了出错的可能性。
摘要由CSDN通过智能技术生成

1.1 Java中的数据存储技术

在Java中,数据库存取技术可分为如下几类:
1、JDBC直接访问数据库
2、JDO(Java Data Object)是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API。
3、第三方O/R 比如Hibernate,Mybatis等

JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis,JDO,Hibernate、MyBatyis等只是更好的封装的JDBC。
最近用idea连接Oracle数据库 并且实现增删改操作的时候,遇到的一些问题在这里跟大家分享一下。
首先,idea连接连接数据库,都需要进行Connnection,也就是需要jdbc(Java database connection)
在进行连接之前,最先要做的事情就是导入对应所使用的数据库的jar包。(常见的数据库有MySQL,Oracle,SQLServer等等)
举个例子:
我要连接Oracle数据库,就到Oracle的官网上下载对应的jar包,当引入jar包下面出现小三角的时候,就说明导包成功!!
在这里插入图片描述
第一步成功,我们套用jdbc的代码,基本上这个大家都能明白,咱也可以把它封装在一个类里边,必要的时候拿过来使用。
如下代码所示: 注意看代码的注释!!

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
//与数据库建立连接
public class ConnectionTest {
   
    //获取连接的三个基本信息
    private String dbURL = "jdbc:oracle:thin:@localhost:1521:orcl";
    private String dbUser = "test";
    private String dbPwd = "test";
    // 获取数据库连接方法, 返回Connection对象
    private Connection con = null;
    //创建数据库连接
    public Connection getDBConnect() {
   
        try {
   
            // 加载数据库驱动 不同的数据库下面这个驱动是不同的,这个千万要注意!!!
            Class.forName("oracle.jdbc.driver.OracleDriver");
            con = DriverManager.getConnection(dbURL, dbUser, dbPwd);
        } catch (Exception e) {
   
            System.out.println(e);
        }
        return con;
    }
好的,这个问题很棒。为了实现增删改查Emp表的Servlet,需要进行以下步骤: 1. 首先,需要建立一个Emp类,包含Emp表中每个字段的属性,如id、name、age等。 2. 然后,需要在Servlet中建立Oracle数据库连接,在doGet或doPost方法中实现增删改查操作。 3. 对于查询操作,可以使用SELECT语句从Emp表中获取数据,并将结果集存储在List<Emp>对象中。 4. 对于插入操作,可以使用INSERT语句将新的Emp对象插入到Emp表中。 5. 对于更新操作,可以使用UPDATE语句更新Emp表中指定的字段。 6. 对于删除操作,可以使用DELETE语句从Emp表中删除指定的数据。 下面是一个简单的示例代码,演示如何实现增删改查Emp表的Servlet: ```java import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/EmpServlet") public class EmpServlet extends HttpServlet { private static final long serialVersionUID = 1L; private Connection conn = null; private PreparedStatement pstmt = null; private ResultSet rs = null; private String url = "jdbc:oracle:thin:@localhost:1521:orcl"; private String user = "scott"; private String password = "tiger"; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String method = request.getParameter("method"); if ("add".equals(method)) { addEmp(request, response); } else if ("delete".equals(method)) { deleteEmp(request, response); } else if ("update".equals(method)) { updateEmp(request, response); } else if ("query".equals(method)) { queryEmp(request, response); } } private void addEmp(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter("id"); String name = request.getParameter("name"); String age = request.getParameter("age"); String sql = "INSERT INTO Emp (id, name, age) VALUES (?, ?, ?)"; try { conn = DriverManager.getConnection(url, user, password); pstmt = conn.prepareStatement(sql); pstmt.setString(1, id); pstmt.setString(2, name); pstmt.setString(3, age); pstmt.executeUpdate(); response.sendRedirect("index.jsp"); } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(); } } private void deleteEmp(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter("id"); String sql = "DELETE FROM Emp WHERE id = ?"; try { conn = DriverManager.getConnection(url, user, password); pstmt = conn.prepareStatement(sql); pstmt.setString(1, id); pstmt.executeUpdate(); response.sendRedirect("index.jsp"); } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(); } } private void updateEmp(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter("id"); String name = request.getParameter("name"); String age = request.getParameter("age"); String sql = "UPDATE Emp SET name = ?, age = ? WHERE id = ?"; try { conn = DriverManager.getConnection(url, user, password); pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, age); pstmt.setString(3, id); pstmt.executeUpdate(); response.sendRedirect("index.jsp"); } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(); } } private void queryEmp(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Emp> list = new ArrayList<Emp>(); String sql = "SELECT * FROM Emp"; try { conn = DriverManager.getConnection(url, user, password); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { Emp emp = new Emp(); emp.setId(rs.getString("id")); emp.setName(rs.getString("name")); emp.setAge(rs.getString("age")); list.add(emp); } request.setAttribute("list", list); request.getRequestDispatcher("list.jsp").forward(request, response); } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(); } } private void closeAll() { try { if (rs != null) { rs.close(); } if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } ``` 以上代码可能需要根据你的实际情况作一些修改,例如数据库连接信息、SQL语句等。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值