JDBC的基础创建

1.加载驱动

在连接数据库之前,需要加载数据库的驱动到JVM(Java虚拟机),这需要通过java.lang.Class类的静态方法forName(String className)实现.
例如:
//加载Oracle的驱动

try{
Class.forName("oracle.jdbc.OracleDriver");
}catch(ClassNotFoundException e){
System.out.println("找不到程序驱动类,加载驱动失败!");
e.printStackTrace();
}

加载成功后,会将驱动类的实例注册到DriverManager类中。

2.提供JDBC连接的URL

jdbc:oracle:thin:@192.168.31.50:1521:orcl

3.创建数据库的连接

想连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
使用DriverManager的getConnection(url,uname,upass)传入数据库的路径,用户名,密码获得一个连接

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.31.50:8080:orcl","uname","upass");

4.创建一个Statement

要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:

1).执行静态语句,通常通过Statement实例实现。
Statement st = conn.createStatement();
2).执行动态语句,通常通过PreparedStatement实现。
PreparedStatement ps = conn.prepareStatement(sql);
3).执行数据库存储过程.通常通过CallableStatement实现
CallableStatement cs = conn.prepareCall("{CALL demoSp(?,?)}");

5.执行sql语句

ResultSet executeQuery(sql) 适用于遍历多个结果,插入集合,返回一个结果集,可以用.next对该对象进行遍历,使用getString(“字段名”)获取字段值
int executeUpdate(sql) 适用于Update,insert或delete语句以及sqlDDL语句,例如建表和删表等等,返回被改变的条数

6.关闭JDBC对象

关闭顺序要和声明顺序相反

1).关闭记录集
2).关闭声明
3).关闭连接对象

if(rs != null){
rs.close();
}

package util;

import java.sql.*;

public class DBUtil {
    private static String driver = "com.mysql.jdbc.Driver";
    private static String url = "jdbc:mysql://localhost:3306/shop?UseSSl=true&characterEncoding=utf-8";
    private static String user = "root";
    private static String password = "";

    static {
        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static Connection get_con() throws SQLException {
        return DriverManager.getConnection(url, user, password);
    }

    public static void getcloseCon(ResultSet resultSet, PreparedStatement preparedStatement,Connection connection) throws SQLException {
        if(resultSet != null){
            resultSet.close();
        }
        if(preparedStatement != null){
            preparedStatement.close();
        }
        if(connection != null){
            connection.close();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值