微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JDBC

JDBC

JDBC: 规范定义接口 (Java DataBase Connectivity)

步骤:

1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar

1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下

2.右键-->Add As Library

2. 注册驱动

3. 获取数据库连接对象 Connection

4. 定义sql

5. 获取执行sql语句的对象 Statement

6. 执行sql,接受返回结果

7. 处理结果

8. 释放资源

例:

// 注册驱动
    Class.forName("com.MysqL.cj.jdbc.Driver");
// 获取数据库    

 Connection conn = DriverManager.getConnection("jdbc:MysqL://localhost:3306/day4?serverTimezone=UTC","root","root");

//连接对象
    String sql = "UPDATE customer set salary = 300 where id>5";
    // 获取到 执行sql语句的对象
    Statement stat = conn.createStatement();
    //执行sql 并且接收他的返回值
    int count = stat.executeUpdate(sql);
    System.out.println("返回值为:" + count);
    stat.close();
    conn.close();

 

代码详解:

1. DriverManager:驱动管理对象

* 功能

1. 注册驱动:告诉程序该使用哪一个数据库驱动jar

static void registerDriver(Driver driver) :注册与给定的驱动程序 DriverManager 。

代码使用:  Class.forName("com.MysqL.jdbc.Driver");

通过查看源码发现:在com.MysqL.jdbc.Driver类中存在静态代码

 static {

        try {

            java.sql.DriverManager.registerDriver(new Driver());

        } catch (sqlException E) {

            throw new RuntimeException("Can't register driver!");

        }

}

 

注意:MysqL5之后的驱动jar包可以省略注册驱动的步骤。

2. 获取数据库连接:

* 方法:static Connection getConnection(String url, String user, String password)

* 参数:

* url:指定连接的路径

* 语法:jdbc:MysqL://ip地址(域名):端口号/数据库名称

* 例子:jdbc:MysqL://localhost:3306/db3

* 细节:如果连接的是本机MysqL服务器,并且MysqL服务认端口是3306,则url可以简写为:jdbc:MysqL:///数据库名称

* user:用户名

* password:密码

2. Connection:数据库连接对象

1. 功能

1. 获取执行sql 的对象

* Statement createStatement()

* PreparedStatement prepareStatement(String sql)  

2. 管理事务:

* 开启事务:setAutoCommit(boolean autoCommit) :调用方法设置参数为false,即开启事务

* 提交事务:commit()

* 回滚事务:rollback()

3. Statement:执行sql的对象

1. 执行sql

1. boolean execute(String sql) :可以执行任意的sql 了解

2. int executeUpdate(String sql) :执行DML(insert、update、delete)语句、DDL(create,alter、drop)语句

* 返回值:影响的行数,可以通过这个影响的行数判断DML语句是否执行成功 返回值>0的则执行成功,反之,则失败。

  1. ResultSet executeQuery(String sql)  :执行DQL(select)语句

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐