JDBC连接数据库案例(执行SQL或SML)

3 篇文章 0 订阅

案例使用mysql8.0版本数据库
操作代码前请先创建jdbc.properties配置文件于src目录下,jdbc.properties内容参考:

jdbc.properties:

// 输入自己的数据库连接信息,以mysql为例,默认3306端口
//数据库较低版本:driver=com.mysql.jdbc.Driver
//数据库较高版本:driver=com.mysql.cj.jdbc.Driver,我这里使用的是mysql8.0版本
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/database_name
user=your_userName
password=your_userPwd

SML语句实现代码块:

// SML语句实现代码块:
package com.mysql.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

/**开发中不建议把连接数据库的信息写死到java程序中,需要修改信息直接在properties中修改,不需要重新编译*/
public class JDBCTest04 {
    /**
     * 1.注册驱动
     * 2.获取连接
     * 3.获取数据库操作对象
     * 4.执行sql
     * 5.(处理查询结果)
     * 6.释放资源
     * */
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        //使用资源绑定器绑定属性
        ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
        String driver = bundle.getString("driver");
        String url = bundle.getString("url");
        String user = bundle.getString("user");
        String password = bundle.getString("password");

        try{
            //注册驱动的第二种方式,由于参数是字符串,可以写入xml文件中,此种方式常用
            Class.forName(driver);
            //获取连接
            connection = DriverManager.getConnection(url,user,password);
            //获取数据库操作对象
            statement = connection.createStatement();
            //执行sql
            int count = statement.executeUpdate("delete from dept where dname = 'PowerBy'");
            System.out.println(count == 1 ? "删除成功":"删除失败");
        }
        catch (SQLException | ClassNotFoundException e){
            e.printStackTrace();
        }
        finally {
            //释放资源
            if(statement != null){
                try{
                    statement.close();
                }
                catch (SQLException e){
                    e.printStackTrace();
                }
            }
            if (connection != null){
                try{
                    connection.close();
                }
                catch (SQLException e){
                    e.printStackTrace();
                }
            }
        }
    }
}

SQL语句实现代码块:

package com.mysql.jdbc;

import java.sql.*;
import java.util.ResourceBundle;

/**
 * 处理查询结果集(返回select语句执行结果)
 * 实际开发中不建议把连接数据库的信息写死到java程序中,需要修改信息直接再properties中袖中,不需要重新编译
 * */
public class JDBCTest06 {
    /**
     * 1.注册驱动
     * 2.获取连接
     * 3.获取数据库操作对象
     * 4.执行sql
     * 5.(处理查询结果)
     * 6.释放资源
     */
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
        String driver = bundle.getString("driver");
        String url = bundle.getString("url");
        String user = bundle.getString("user");
        String password = bundle.getString("password");

        try{
            //1.注册驱动
            Class.forName(driver);
            //2.获取连接
            connection = DriverManager.getConnection(url,user,password);
            //3.获取数据库操作对象
            statement = connection.createStatement();
            //4.执行sql
            resultSet = statement.executeQuery("select ename,job,sal from emp");
            //5.处理查询结果集
            while(resultSet.next()){
                System.out.println("ENAME:"+resultSet.getString("ename")+
                        "  JOB:"+resultSet.getString("job")+
                        "  SAL:"+resultSet.getDouble("sal"));
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }
        finally {
            try{
                resultSet.close();
            }
            catch (Exception e){
                e.printStackTrace();
            }
            try{
                statement.close();
            }
            catch (Exception e){
                e.printStackTrace();
            }
            try{
                connection.close();
            }
            catch (Exception e){
                e.printStackTrace();
            }
        }
    }
}

总结:
1.注意jdbc.properties配置文件书写正确,并且在java代码中ResourceBundle.getString()方法中参数与配置文件所填参数一致
2.注册驱动使用代理Class.forName(driver)方法进行实现,DriverManager.registerDriver()方法在driver的静态变量中申明,运行driver类自动调用DriverManager.registerDriver();
3.数据库使用完毕需要释放资源,释放资源顺序按照ResultSet()对象——Statement()对象——Connection()对象顺序进行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值