JAVA使用JDBC连接数据库进行增删改查操作

该篇纪录java使用JDBC操作数据库

首先记住使用JDBC的操作步骤(已经配置好mysql):
一. 导入jar包:在eclipse项目中新建一个lib文件夹,将相应的JDBC的jar包复制到该文件夹下,选中右键单击Build Path-Add to Build Path,之后会再在文件夹下面出现一个小奶瓶,表示添加成功:
JAVA使用JDBC连接数据库进行增删改查操作_第1张图片
二. 创建一个包:cn.itclass.jdbc.utils,然后在该包下新建一个Class文件:JDBCUtils,输入以下代码。

package cn.itclass.jdbc.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import java.sql.Connection;
import java.sql.DriverManager;
import java.lang.Exception;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class JDBCUtils {
     
    private static String driver;
    private static String url;
    private static String username;
    private static String password;

    /**
     * 静态代码块,直接加载,速度更快 这里是创建并获取连接的步骤 并且需要一个名为db.properties:配置文件: 后缀固定,名字自取
     */
    static {

        try {
            // 1.通过当前类获取加载器
            ClassLoader classLoader = JDBCUtils.class.getClassLoader();
            // 2.通过类加载器的方法获得一个输入流
            InputStream is = classLoader.getResourceAsStream("db.properties");
            // 3.创建一个properties对象
            Properties props = new Properties();
            // 4.加载输入流
            props.load(is);
            // 5.获取相关参数的值
            driver = props.getProperty("driver");
            url = props.getProperty("url");
            username = props.getProperty("username");
            password = props.getProperty("password");
        } catch (IOException e) {

            e.printStackTrace();
        }

    }

    /**
     * 这里还需要一个获取连接的方法
     */
    public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, username, password);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return conn;
    }

    /**
     * 打开资源入口之后就要关闭 所以这里最后需要关闭资源
     */

    public static void release(Connection conn, PreparedStatement pstmt, ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        if (pstmt != null) {
            try {
                pstmt.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

}

三. 上面提到了需要一个db.properties的配置文件,这里面也就写着我们的数据库地址和用户名等内容。这个配置文件需要放在src目录下

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/web08?useUnicode=true&characterEncoding=utf8
username=root
password=123456

四. 我们接下来创建一个测试类来测试一下,新建一个包:cn.itclass.jdbc.test,然后新建一个类:JDBCUtilsTest.class

package cn.itclass.jdbc.test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.junit.Test;

import cn.itclass.jdbc.utils.JDBCUtils;

public class JDBCUtilsTest {
     

    @Test
    public void testFindUserById() {
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            // 1.获取连接
            conn = JDBCUtils.getConnection();
            // 2.编写sql语句
            String sql = "select * from tbl_user where uname = ?";
            // 3.获取执行sql语句对象
            pstmt = conn.prepareStatement(sql);
            // 设置参数
            pstmt.setString(1, "张三");
            // 5.执行查询操作
            rs = pstmt.executeQuery();
            // 6.处理结果集
            while (rs.next()) {
                System.out.println("uid:"+rs.getInt(1)+"---uname:"+rs.getString(2)+"---upassword"+rs.getString(3));

            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 7.释放资源
            JDBCUtils.release(conn, pstmt, rs);
        }

    }

}

注:这里用到了Junit4,所以在一开始导入包之后,我们需要再点击Build Path-Add libraries…-Junit4,这样就可以了,测试的时候选中方法名,右键-Run as-Junit Test

总结:使用JDBC操作数据库,基本步骤为以下几步:
1) 加载JDBC驱动
2) 建立连接
3) 书写sql语句
4) 执行语句
5) 处理结果
6) 关闭连接
在这里,加载驱动和建立连接基本都是死步骤,我们可以抽取出来封装成一个工具类,以后每次直接调用,不用重复书写,节省开发成本。

对于数据库的url、用户名、密码这些数据,都是随时可能需要变动的,所以直接抽出来用配置文件的方式保存,方便修改,更合情合理,这就是db.properties存在的意义。

最后,贴上文件结构图:
JAVA使用JDBC连接数据库进行增删改查操作_第2张图片

你可能感兴趣的:(JavaWeb,数据库,JavaWeb)