博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JdbcUtils
阅读量:5738 次
发布时间:2019-06-18

本文共 10122 字,大约阅读时间需要 33 分钟。

JdbcUtils

项目结构

 
db.properties
driverClass=com.mysql.jdbc.Driverurl=jdbc:mysql:///myTestusername=rootpassword=root

 

JdbcUtils
package com.pers.jdbc.utils;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;/** * @author liangyadong * @date 2016年10月13日 下午3:23:22 * @version 1.0 */public class JdbcUtils {    public static final String DRIVERCLASS;    public static final String URL;    public static final String USERNAME;    public static final String PASSWORD;        /**     * 静态代码块     *      * 步骤     * 1.创建properties对象     * 2.获取db配置文件的输入流     * 3.properties对象加载配置文件     * 4.properties对象通过key获取值     */    static{        // 读取配置文件,将值赋给常量        // 创建properties对象        Properties pro = new Properties();                // 获取db.properties文件的输入流        InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("com/pers/jdbc/utils/db.properties");                // 加载配置文件        try {            pro.load(in);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                // 通过key获取值        DRIVERCLASS = pro.getProperty("driverClass");        URL = pro.getProperty("url");        USERNAME = pro.getProperty("username");        PASSWORD = pro.getProperty("password");            }        /**     * 加载驱动     */    public static void loadDriver(){        try {            Class.forName(DRIVERCLASS);        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }        /**     * 获取连接     * @return     */    public static Connection getConnection() {        // TODO Auto-generated method stub        // 加载驱动        loadDriver();        try {            // 获取连接            return DriverManager.getConnection(URL,USERNAME,PASSWORD);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                return null;    }        /**     * 释放资源     *      * 查询的释放资源方法     * @param conn     * @param sta     * @param rs     */    public static void release(Connection conn,Statement sta,ResultSet rs){        if (rs!=null) {            try {                rs.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            rs = null;        }        if (sta!=null) {            try {                sta.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            sta = null;        }        if (conn!=null) {            try {                conn.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            conn = null;        }    }        /**     * 释放资源     *      * 增删改的释放资源方法     * @param conn     * @param sta     */    public static void release(Connection conn,Statement sta){        if (sta!=null) {            try {                sta.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            sta = null;        }        if (conn!=null) {            try {                conn.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            conn = null;        }    }    }

 

JdbcTest

package com.pers.jdbc.demo;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import org.junit.Test;import com.pers.jdbc.utils.JdbcUtils;/** * @author liangyadong * @date 2016年10月13日 上午11:01:22 * @version 1.0 */public class JdbcTest2 {    /**     * 测试添加数据     */    @Test    public void InsertTest(){        /**         * 步骤         * 1.加载驱动         * 2.获取连接         * 3.编写sql         * 4.获取执行sql的对象         * 5.执行sql         * 6.释放资源         */        Connection conn = null;        Statement sta = null;                try {            // 加载驱动            Class.forName("com.mysql.jdbc.Driver");                        // 获取连接            conn = DriverManager.getConnection("jdbc:mysql:///myTest","root","root");                        // 编写插入sql            String sql = "insert into t_user values (null,'ddd','123','ddd@163.com')";                        // 获取执行sql的对象            sta = conn.createStatement();                        // 执行sql            /*boolean b = sta.execute(sql);            if (b=true) {                System.out.println("添加数据成功!");            }*/            // 或            int i = sta.executeUpdate(sql);            if (i>0) {                System.out.println("添加数据成功!");            }                    } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            /**             * 释放资源             */            if (sta!=null) {                try {                    sta.close();                } catch (SQLException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                sta=null;            }            if (conn!=null) {                try {                    conn.close();                } catch (SQLException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                conn=null;            }        }    }            /**     * 修改第四条数据名称为eee     */    @Test    public void UpdateTest(){        /**         * 步骤         * 1.加载驱动         * 2.获取连接         * 3.编写修改数据的sql         * 4.创建执行sql的对象         * 5.执行sql         * 6.释放资源         */                Connection conn = null;        Statement sta = null;                try {            // 加载驱动            Class.forName("com.mysql.jdbc.Driver");                    // 获取连接            conn = DriverManager.getConnection("jdbc:mysql:///myTest","root","root");                        // 编写修改数据的sql            String sql = "update t_user set username='eee' where id = '4'";                        // 创建执行sql的对象            sta = conn.createStatement();                        // 执行sql            int i = sta.executeUpdate(sql);            if (i>0) {                System.out.println("修改数据成功!");            }        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            /**             * 释放资源             */            if (sta!=null) {                try {                    sta.close();                } catch (SQLException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                sta=null;            }            if (conn!=null) {                try {                    conn.close();                } catch (SQLException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                conn=null;            }        }            }        /**     * 删除数据测试     * 删除第四条数据     */    @Test    public void DeleteTest(){        /**         * 步骤         * 1.加载驱动         * 2.获取连接         * 3.编写sql         * 4.创建执行sql的对象         * 5.执行sql         * 6.释放资源         */                Connection conn = null;        Statement sta = null;                try {            // 加载驱动            Class.forName("com.mysql.jdbc.Driver");            // 获取连接            conn = DriverManager.getConnection("jdbc:mysql:///myTest","root","root");                    // 编写sql            String sql = "delete from t_user where id = '4'";                        // 创建执行sql的对象            sta = conn.createStatement();                        // 执行sql            int i = sta.executeUpdate(sql);            if (i>0) {                System.out.println("删除数据成功!");            }                } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            /**             * 释放资源             */            if (sta!=null) {                try {                    sta.close();                } catch (SQLException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                sta = null;            }            if (conn!=null) {                try {                    conn.close();                } catch (SQLException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                conn=null;            }        }    }        /**     * 测试查询数据     * 使用jdbc工具类     */    @Test    public void query(){        /**         * 步骤         * 1.加载驱动         * 2.获取连接         * 3.编写sql         * 4.创建执行sql的对象         * 5.执行sql         * 6.遍历结果         * 7.释放资源         */        Connection conn = null;        Statement sta = null;        ResultSet rs = null;                try {            // 加载驱动获取连接            conn = JdbcUtils.getConnection();                        // 编写sql            String sql = "select * from t_user";                        // 创建执行sql的对象            sta = conn.createStatement();                        // 执行sql            rs = sta.executeQuery(sql);                        // 遍历结果            while(rs.next()){                int id = rs.getInt("id");                String username = rs.getString("username");                String email = rs.getString("email");                                System.out.println(id+"-"+username+"-"+email);            }                                } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            JdbcUtils.release(conn, sta, rs);        }    }        }

 

输入流路径: 包名/文件名

*注意:相对路径开头是没有斜杠的

 

转载于:https://www.cnblogs.com/yadongliang/p/5967600.html

你可能感兴趣的文章
Git提交本地库代码到远程服务器的操作
查看>>
灾难拯救——让软件项目重回轨道
查看>>
mysql中主外键关系
查看>>
我的友情链接
查看>>
让你快速上手的Glide4.x教程
查看>>
浮动和清除(闭合)浮动
查看>>
微信小程序注册流程
查看>>
LR录制脚本时IE打不开的原因
查看>>
类的基础
查看>>
微博自动化测试
查看>>
Sublime Text 2.0.2,Build 2221注册码
查看>>
js scroll事件
查看>>
最长递增子序列 动态规划
查看>>
使用列表
查看>>
原生CSS设置网站主题色—CSS变量赋值
查看>>
webpack 4.0 中 clean-webpack-plugin 的使用
查看>>
数据库神器:Navicat Premium
查看>>
WPF
查看>>
Best website for Photogrammetry
查看>>
中文词频统计
查看>>