JDBC学习

JDBC

  1. 概念:Java DataBase connectivity Java数据库连接,Java语言操作数据库

JDBc本质∶其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程 ,真正执行的代码是驱动jar包中的实现类。

快速入门

1.导入驱动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.处理结果

  1. 释放资源

详解各个对象

DriverManager:驱动管理对象

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

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

写代码使用:Class.forName(“com.mysql.jdbc.Deiver”);

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

 static {
        try {
            DriverManager.registerDriver(new Driver());
        } catch (SQLException var1) {
            throw new RuntimeException("Can't register driver!");
        }
    }

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

  1. 获取数据库连接

    方法:static Connection getConnection

    参数:url:指定连接的路径

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

    ​ 例子:jdbc:mysql://localhost:3306/db3

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

    user:用户名

    password:密码

Connection:数据库连接对象

  1. 功能:获取执行sql的对象

​ Sstatement createStatement ()

​ PreparedStatement prepareStatement(String sql)

  1. 管理事务

    开启事务: void setAutoCommit(boolean autoCommit) 此连接的自动提交模式设置为给定状态。

    提交事务:commit()

    归滚事务:rollback()

Statement执行sql的对象

执行sql的对象:用于执行静态 SQL 语句并返回它所生成结果的对象。

  1. 执行sql

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

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

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

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

 @Test
    public void test01() throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, SQLException {
        String url = "jdbc:mysql://127.0.0.1:3306/db4?userUnicode=true&characterEncoding=utf8";
        String username = "root";
        String password = "root";
        String driverName = "com.mysql.jdbc.Driver";
        //1.加载驱动类
        Class clazz = Class.forName(driverName);
        //2.实例化Driver对象
        Driver driver = (Driver) clazz.getDeclaredConstructor().newInstance();
        //3.注册驱动
        DriverManager.registerDriver(driver);
        //4.获取连接
        Connection connection = DriverManager.getConnection(url, username, password);
        //执行sql的步骤
        //1.获取连接
        statement = connection.createStatement();
        //2.定义sql
        //3.执行sql语句
        String sql="insert into teacher (id,name) values (6,'Jay')";
        String delete="DELETE FROM teacher WHERE id=5";
        String update="update teacher set name='sun' where id=3";
        //返回值是执行sql语句的行数
        //4.处理执行sql的返回值
        //int i = statement.executeUpdate(sql);
        int i = statement.executeUpdate(update);
        System.out.println("影响的行数"+i);
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值