JDBC

Posted jian2818

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。

1.基本概念

概念:java DataBase Connectivity     java数据库连接 , java语言操作数据库

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

2.快速入门

Ⅰ.步骤:

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

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

    2.右键——>Add as Library

  2.注册驱动

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

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

  Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", "root", "root");

  4.定义sql

  String sql = "update student1 set math = 49 where id = 4";

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

  Statement stmt = conn.createStatement();

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

  int count = stmt.executeUpdate(sql);

  7.处理结果

  System.out.println(count);

  8.释放资源(2个资源)

  stmt.close();
  conn.close();

 Ⅱ.详解各个对象

1.DriverManager:驱动管理对象

  功能:1.注册驱动

        static void registerDriver(Driver driver)  向 DriverManager 注册给定驱动程序

        写代码使用    Class.forName("com.mysql.jdbc.Driver");

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

                           技术图片

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

      2.获取数据库连接 

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

    参数:

      URL:指定连接的路径(语法:jdbc:mysql://ip地址:端口号/数据库名称)

      user:用户名

      password:密码

2.Connection:数据库连接对象

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

        Statement createStatement()

        PreparedStatement preparedStatement(String sql)

     2.管理事务

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

        提交事务:commit()

        回滚事务:rollback()

3.Statement:执行sql的对象

  1.执行sql

    1.Boolean excute(String sql) :可以执行任意的sql

    2.int excuteUpdate(String sql):执行DML(insert、update、delete)语句、DDL(create、alter、drop)语句。返回值是影响的行数,可以借此判断是否执行成功

    3.ResultSet excuteQuery (String sql):执行DQL(select)语句,返回结果值对象

4.ResultSet:结果集对象

5.PreparedStatement:预编译的sql 语句的对象

 

以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章

面试常用的代码片段

mysql jdbc源码分析片段 和 Tomcat's JDBC Pool

JDBC操作数据库之查询数据

如何在片段中填充列表视图?

在 myeclipse中进行连接sql server的测试

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段