zoukankan      html  css  js  c++  java
  • Jdbc增删改查的相关操作(Oracle 数据库环境)

    验证java IDE是否正确连接Oracle

    导入包

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    /**
     * 数据库连接测试
     * 连上给个显示下面  ojdbc6-g.jar
     驱动程序已装载,即将连接数据库。
     ------------------------------------------------
     数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
     With the Partitioning, OLAP, Data Mining and Real Application Testing options
     驱动程序名称:Oracle JDBC driver
     驱动程序版本:11.2.0.1.0
     ------------------------------------------------
     */
    
    public class Oracle_Connect_test {
        public static void main(String[] args) {
            try {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                System.out.println("驱动程序已装载,即将连接数据库。");
            } catch (ClassNotFoundException ex) {
                System.out.println("无法加载驱动程序:" + ex.getMessage());
                return;
            }
            try {
                Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.204.154:1521:orcl",
                        "scott", "123");
                DatabaseMetaData md = conn.getMetaData();
                System.out.println("------------------------------------------------");
                System.out.print("数据库版本:");
                System.out.println(md.getDatabaseProductVersion());
                System.out.print("驱动程序名称:");
                System.out.println(md.getDriverName());
                System.out.print("驱动程序版本:");
                System.out.println(md.getDriverVersion());
                System.out.println("------------------------------------------------");
                conn.close();
            } catch (SQLException ex) {
                System.out.println("数据库连接失败:" + ex.getMessage());
                ex.printStackTrace();
                return;
            }
        }
            }
    

    建表及其数据

    CREATE TABLE "SCOTT"."用户表" (
      "用户ID" VARCHAR2(20) NOT NULL ,
      "用户名" VARCHAR2(20) ,
      "密码" VARCHAR2(30) ,
      "Email" VARCHAR2(30) ,
      "用户类型" VARCHAR2(30) ,
      "注册日期" DATE DEFAULT sysdate ,
      PRIMARY KEY ("用户ID"),
      CONSTRAINT "用户名" UNIQUE ("用户名")
    )
    
    INSERT INTO "用户表"("用户ID", "用户名", "密码", "EMAIL", "用户类型", "注册日期") VALUES ('111122', '尹xx', '9988111', 'zhenqcom', '5', TO_DATE('2020-02-12 20:39:58', 'SYYYY-MM-DD HH24:MI:SS'));
    INSERT INTO "用户表"("用户ID", "用户名", "密码", "EMAIL", "用户类型", "注册日期") VALUES ('8207919', 'Tony 哥', '6688', 'zhenqk@163.com', '5', TO_DATE('2020-02-12 20:49:04', 'SYYYY-MM-DD HH24:MI:SS'));
    INSERT INTO "用户表"("用户ID", "用户名", "密码", "EMAIL", "用户类型", "注册日期") VALUES ('22222', 'Tony ', '6688', '610@com', '5', TO_DATE('2020-02-12 20:49:04', 'SYYYY-MM-DD HH24:MI:SS'));
    
    

    java程序--增加 修改 查询

    import javax.swing.*;
    import java.sql.*;
    class GetDataClass{
    //数据库  获取连接
        public Connection getOracleConn() {
            Connection conn = null;
            String driver = "oracle.jdbc.driver.OracleDriver";
            String connectURL = "jdbc:oracle:thin:@192.168.204.154:1521:orcl";
            String loginName = "scott";
            String loginPassword = "123";
            try {
                Class.forName(driver);
            } catch (ClassNotFoundException ex) {
                JOptionPane.showMessageDialog(null, "无法加载驱动程序:" + ex.getMessage());
            }
            try {
                conn = DriverManager.getConnection(connectURL, loginName, loginPassword);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
            return conn;
        }
    
    
        public void closeConnection(Connection conn) throws SQLException {
            conn.close();
        }
    
        public void closeResultSet(ResultSet rs) throws SQLException {
            rs.close();
        }
    
        public void closePreparedStatement(PreparedStatement ps) throws SQLException {
            ps.close();
        }
    }
    
    public class Oracle_Connect_test3 {
        GetDataClass objGetData = new GetDataClass();
        //查询用户是否已经注册   @code=用户ID
        private int getUser(String code) throws SQLException {
            int num = 0;
            Connection conn = null;
            ResultSet rs = null;
            PreparedStatement ps = null;
            try {
                conn = objGetData.getOracleConn();
                String strSql = "Select 用户ID From 用户表 Where 用户ID=?";
                ps = conn.prepareStatement(strSql);
                ps.setString(1, code);
                rs = ps.executeQuery();
                //存在返回 1
                if (rs.next()) {
                    num = 1;
                } else {
                    num = 0;
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                objGetData.closePreparedStatement(ps);
                objGetData.closeResultSet(rs);
                objGetData.closeConnection(conn);
            }
            return num;
        }
    //添加用户
        private int addUser() throws SQLException {
            int num = 0;
            Connection conn = null;
            PreparedStatement ps = null;
            try {
                conn = objGetData.getOracleConn();
                    //EMAIL  必须大写 和数据 保持一致   sysdate
                String strSql = "Insert into 用户表(用户ID,用户名,密码,EMAIL,用户类型) Values( ?,?,?,?,?)";
                ps = conn.prepareStatement(strSql);
                ps.setString(1, "8207919");
                ps.setString(2, "Tony 哥");
                ps.setString(3, "6688");
                ps.setString(4, "yhj1610@com");
                ps.setString(5, "5");
                num = ps.executeUpdate();
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
    
                objGetData.closePreparedStatement(ps);
                objGetData.closeConnection(conn);
            }
            return num;
        }
    
    //修改用户密码  @password=新密码   @code=用户ID号
        private int updatePassword(String password , String code) throws SQLException {
            int num = 0;
            Connection conn = null;
            PreparedStatement ps = null;
            try {
                conn = objGetData.getOracleConn();
                String strSql = "Update 用户表 Set 密码=? Where 用户ID=?";
                ps = conn.prepareStatement(strSql);
                ps.setString(1, password);
                ps.setString(2, code);
                num = ps.executeUpdate();
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                objGetData.closePreparedStatement(ps);
                objGetData.closeConnection(conn);
            }
            return num;
        }
    
    
        public static void main(String[] args) throws SQLException {
            Oracle_Connect_test3 ja10_5 = new Oracle_Connect_test3();
            //先查询数据库是否存在 这个用户   参数 =用户ID
            if (ja10_5.getUser("8207919") > 0) {
                //已经存在就修改密码
                JOptionPane.showMessageDialog(null, "该用户已注册过!");
                   //9988111  新的密码   |   8207919  用户id
                if (ja10_5.updatePassword("q123", "8207919") > 0) {
                    JOptionPane.showMessageDialog(null, "修改密码成功!");
                }
            } else {
                if (ja10_5.addUser() > 0) {
                    JOptionPane.showMessageDialog(null, "注册成功!");
                }
            }
        }
    }
    
  • 相关阅读:
    vue-loader
    slot内容分发
    单向数据流
    vue父子组件(1.0)
    vue组件
    vue过渡
    vue之自定义组件
    jquery下拉菜单
    vue之过滤器
    【数学】数学归纳法
  • 原文地址:https://www.cnblogs.com/zhenqk/p/12300917.html
Copyright © 2011-2022 走看看