栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDBC编码六步走

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDBC编码六步走

JDBC介绍

Java Database Connectivity(简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口。

JDBC的本质

JDBC是SUN公司制定的一套连接数据库的接口(interface)。而接口都有调用者(程序员)和实现者(各大数据库厂商),这些面向接口调用。面向接口写实现类的操作,都属于面向接口编程思想。

面向接口编程是一种非常受益的思想,java的多态机制就是个典型范例(面向抽象编程)。

第一步:注册驱动

作用是告知java程序即将要连接的数据库厂商品牌(MySQL、Oracle、SQLserver)。

第二步:获取连接

打开JVM进程与数据库进程之间的通道,属于进程间通信,重量级。

第三步:获取数据库操作对象

专门执行SQL语句的对象。

第四步:执行SQL语句(DQL、DML) 第五步:处理查询结果

只有当第四步执行的是select语句时,才会处理查询后的结果集。

第六步:释放资源

使用完毕,一定要及时关闭连接。

数据驱动jar包,各种mysql-connector-java版本下载地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java

注意:mysql8和mysql5的导入包路径不同。
mysql5:com.mysql.jdbc.Driver
mysql8:com.mysql.cj.jdbc.Driver

我这里用的是mysql-connector-java-8.0.22.jar,下面IDEA演示操作:

1、添加jar包至library库中。

我事先在项目中创建了名为jdbc_test模块。

(1)选择File-》Project Structure

(2)选择Libraries-》点击‘+’号-》Java

 (3)选择下载好的mysql驱动,点击OK

 (4)选择jdbc_test模块,点击OK

最后别忘了Apply和OK,这样成功添加进来了。

 

2、连接代码测试示例:
public class JDBCTest01 {
    public static void main(String[] args) throws SQLException {
        Connection conn = null;
        Statement stmt = null;
        // 1、注册驱动
        Driver driver = new com.mysql.cj.jdbc.Driver();
        DriverManager.registerDriver(driver);
        // 2、获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/bookstore?serverTimezone=UTC";
        String user = "root";
        String password = "xxx"; // 自己的数据库密码
        conn = DriverManager.getConnection(url, user, password);
        System.out.println("数据库连接对象:" + conn);
//        com.mysql.cj.jdbc.ConnectionImpl@3dd3bcd

        // 3、获取数据库操作对象
        // Statement createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。
        stmt = conn.createStatement();

        // 4、执行sql语句
        // int executeUpdate(String sql)
        // 专门执行DML语句,返回值是“影响数据库中的记录条数”
//        int count = stmt.executeUpdate("update dept set dname = '销售部',loc = '合肥' where deptno = 20;");
        int count = stmt.executeUpdate("update users set username= 'mike' where id=13;");
        System.out.println(count == 1 ? "保存成功":"保存失败");

        // 5、处理查询结果集

        // 6、释放资源
        // 从小到大,从后往前依次关闭
        try	{
            stmt.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
        if(conn != null) {
            try	{
                conn.close();
            }
            catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

 如果启动报时区错误的话,在你连接数据库的url后加上参数 ?serverTimezone=UTC。

3、执行结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716506.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号