Java Web学习——IDEA中使用jdbc

1.什么是JDBC

  JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

配置JDBC

1.在官网下载mysql的驱动,最好下载旧版本的,8点几版本的驱动可能连不上。
2.这里有两种选择导入的jar包:

  • 把jar包放在Tomcat的lib目录下,这两个jar包没有什么区别。
    在这里插入图片描述

  • 或者,在Project Structure->Modules->Dependencies->JARs or directorie中导入jar包,并检查External Libraries中是否存在导入的jar包。

在这里插入图片描述

连接数据库

注册驱动

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

建立连接

  • DirverManager是mysql提供的一个管理类
  • Connection connection=(Connection) DriverManager.getConnection(url, username, password)
  • URL用于标识数据库的位置,通过URL地址告诉JDBC程序连接哪个数据库
  •     `String url = "jdbc:mysql://localhost:3306/test`
    

username和password是连接的用户名和密码

常见的对象

Connection对象

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

  • createStatement():创建向数据库发送sql的statement对象。

  • prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。

  • prepareCall(sql):创建执行存储过程的callableStatement对象。

  • setAutoCommit(boolean autoCommit):设置事务是否自动提交。

  • commit() :在链接上提交事务。

  • rollback() :在此链接上回滚事务。‘’

三种Statement对象

  • Statement
    由createStatement创建,用于发送简单的SQL语句(不带参数)。

  • PreparedStatement:
    继承自Statement接口,由preparedStatement创建,用于发送含有一个或多个参数的SQL语句。PreparedStatement对象比Statement对象的效率更高,并且可以防止SQL注入,所以我们一般都使用PreparedStatement。

  • CallableStatement
    继承自PreparedStatement接口,由方法prepareCall创建,用于调用存储过程。

常用Statement方法:

  • execute(String sql):运行语句,返回是否有结果集
  • executeQuery(String sql):运行select语句,返回ResultSet结果集。
  • executeUpdate(String sql):运行insert/update/delete操作,返回更新的行数。
  • addBatch(String sql) :把多条sql语句放到一个批处理中。
  • executeBatch():向数据库发送一批sql语句执行,不能发送太多,会占据大量内存,这种时候可以先执行已发送的,然后清除,继续发送。

ResultSet

 getString(int index)、getString(String
   columnName)

:获得在数据库里是varchar、char等类型的数据对象。

  • getFloat(int index)、getFloat(String columnName):获得在数据库里是Float类型的数据对象。

  • getDate(int index)、getDate(String columnName):获得在数据库里是Date类型的数据。

getBoolean(int index)、getBoolean(String
   columnName)

:获得在数据库里是Boolean类型的数据。

  • getObject(int index)、getObject(String columnName):获取在数据库里任意类型的数据。

ResultSet还提供了对结果集进行滚动的方法:

  • next():移动到下一行
  • Previous():移动到前一行
  • absolute(int row):移动到指定行
  • beforeFirst():移动resultSet的最前面。
  • afterLast() :移动到resultSet的最后面。

使用JDBC的步骤以及释放连接

  
  • 加载JDBC驱动程序 → 建立数据库连接Connection → 创建执行SQL的语句Statement →
    处理执行结果ResultSet → 释放资源

释放资源需要按照以下顺序:

  • ResultSet → Statement → Connection

猜你喜欢

转载自blog.csdn.net/qq_41374768/article/details/87971970