JDBC【介绍JDBC、使用JDBC连接数据库、简单的工具类】(上)

1.什么是JDBC


JDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API



2.为什么我们要用JDBC


  • 市面上有非常多的数据库,本来我们是需要根据不同的数据库学习不同的API,sun公司为了简化这个操作,定义了JDBC API【接口】
  • sun公司只是提供了JDBC API【接口】,数据库厂商负责实现。
  • 对于我们来说,操作数据库都是在JDBC API【接口】上,使用不同的数据库,只要用数据库厂商提供的数据库驱动程序即可
  • 这大大简化了我们的学习成本



3.简单操作JDBC


步骤:

  1. 导入MySQL或者Oracle驱动包
  2. 装载数据库驱动程序
  3. 获取到与数据库连接
  4. 获取可以执行SQL语句的对象
  5. 执行SQL语句
  6. 关闭连接

Connection connection = null;

        Statement statement = null;

        ResultSet resultSet = null;


        try {


            /*

           * 加载驱动有两种方式

           *

           * 1:会导致驱动会注册两次,过度依赖于mysql的api,脱离的mysql的开发包,程序则无法编译

           * 2:驱动只会加载一次,不需要依赖具体的驱动,灵活性高

           *

           * 我们一般都是使用第二种方式

           * */


            //1.

            //DriverManager.registerDriver(new com.mysql.jdbc.Driver());


            //2.

            Class.forName("com.mysql.jdbc.Driver");


            //获取与数据库连接的对象-Connetcion

            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/zhongfucheng", "root", "root");


            //获取执行sql语句的statement对象

            statement = connection.createStatement();


            //执行sql语句,拿到结果集

            resultSet = statement.executeQuery("SELECT * FROM users");


            //遍历结果集,得到数据

            while (resultSet.next()) {


                System.out.println(resultSet.getString(1));


                System.out.println(resultSet.getString(2));

            }

            

        } catch (SQLException e) {

            e.printStackTrace();

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        } finally {


            /*

           * 关闭资源,后调用的先关闭

           *

           * 关闭之前,要判断对象是否存在

           * */


            if (resultSet != null) {

                try {

                    resultSet.close();

                } catch (SQLException e) {

                    e.printStackTrace();

                }


            }

            if (statement != null) {

                try {

                    statement.close();

                } catch (SQLException e) {

                    e.printStackTrace();

                }


            }

            if (connection != null) {

                try {

                    connection.close();

                } catch (SQLException e) {

                    e.printStackTrace();

                }


            }


        }

上面我们已经简单使用JDBC去查询数据库的数据了,接下来我们去了解一下上面代码用到的对象




4.Connection对象


客户端与数据库所有的交互都是通过Connection来完成的。

常用的方法:

//创建向数据库发送sql的statement对象。


createcreateStatement()


//创建向数据库发送预编译sql的PrepareSatement对象。


prepareStatement(sql)


//创建执行存储过程的callableStatement对象


prepareCall(sql)


//设置事务自动提交


setAutoCommit(boolean autoCommit)


//提交事务


commit()


//回滚事务


rollback()

上一篇:一文详解物化视图改写


下一篇:Seata GA Meetup 杭州站开放报名啦!