JDBC Statement实现数据库增删改查案例

来源:互联网 发布:windows账户格式 编辑:程序博客网 时间:2024/06/06 03:14

JDBC Statement实现数据库增删改查案例:

博主在数据库中创建person表,字段信息如下:


项目中需要的包为:ojdbc.jar


示例代码:

1.Main.java

package com.company;import java.sql.ResultSet;import java.sql.SQLException;public class Main {    public static void main(String[] args) {        //执行插入语句        int update = DBUtils.executeUpdate("INSERT INTO person(name,psw,age,sex,description) VALUES('李四','123',18,'男','个人说明')");        System.out.println(update > 0 ? "添加成功" : "添加失败");        //执行查询语句        DBUtils.RS dbRS = DBUtils.executeQuery("SELECT name,psw,age FROM person WHERE personid=42");        ResultSet rs = dbRS.getRs();        try {            if (rs.next()) {                String name = rs.getString("name");                String psw = rs.getString("psw");                int age = rs.getInt("age");                System.out.println("查询结果: 姓名:" + name + "  密码:" + psw + "  年龄:" + age);            }        } catch (SQLException e) {            e.printStackTrace();        } finally {            dbRS.close();        }        //执行修改语句        int i = DBUtils.executeUpdate("UPDATE person SET age=36 WHERE personid=42");        System.out.println(i > 0 ? "修改成功" : "修改失败");        //执行删除语句        int i1 = DBUtils.executeUpdate("DELETE FROM person WHERE personid=42");        System.out.println(i1 > 0 ? "删除成功" : "删除失败");    }}


2.DBUtils.java

package com.company;import java.sql.*;public class DBUtils {    /**     * 数据库的属性信息     *///    数据库主机 IP地址    private static final String IP = "127.0.0.1";    //    数据库端口    private static final String PORT = "1521";    //    数据库名称?    private static final String DB_NAME = "oracle";    //    数据库URL    private static final String URL = "jdbc:oracle:thin:@" + IP + ":" + PORT + ":" + DB_NAME;    //     数据库连接用户名    private static final String USER = "scott";    //     用户密码    private static final String PSW = "tiger";    //    获取数据库连接    public static Connection getConn() {        Connection conn = null;        try {            conn = DriverManager.getConnection(URL, USER, PSW);        } catch (SQLException e) {            e.printStackTrace();        }        return conn;    }    //    执行查询语句方法    public static RS executeQuery(String sql) {        Connection conn = null;        Statement st = null;        try {            conn = DBUtils.getConn();            st = conn.createStatement();            ResultSet rs = st.executeQuery(sql);            return new RS(conn, st, rs);        } catch (SQLException e) {            e.printStackTrace();        }        return null;    }    //    执行更新语句方法    public static int executeUpdate(String sql) {        Connection conn = null;        Statement st = null;        try {            conn = DBUtils.getConn();            st = conn.createStatement();            int i = st.executeUpdate(sql);            return i;        } catch (SQLException e) {            e.printStackTrace();        } finally {            close(conn, st);        }        return 0;    }    //    释放连接资源    public static void close(ResultSet rs) {        close(null, null, rs);    }    //    释放连接资源    public static void close(Connection conn) {        close(conn, null, null);    }    //    释放连接资源    public static void close(Connection conn, Statement st) {        close(conn, st, null);    }    //    释放连接资源    public static void close(Connection conn, Statement st, ResultSet rs) {        if (rs != null) {            try {                rs.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (st != null) {            try {                st.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (conn != null) {            try {                conn.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }    public static class RS {        private Connection conn = null;        private Statement st = null;        private ResultSet rs;        public RS(Connection conn, Statement st, ResultSet rs) {            this.conn = conn;            this.st = st;            this.rs = rs;        }        public ResultSet getRs() {            return this.rs;        }        public void close() {            DBUtils.close(conn, st, rs);        }    }}


结果:

添加结果:


修改结果:


查询结果:


删除结果: