JDBC入门(一)—jdbc概述与常用API

    科技2025-09-19  87

    JDBC概述

    JDBC全称为Java Database Connectivity(Java数据库连接),是Java访问数据库操作的基础,是一种用于执行SQL语句的Java API,是一个规范

    JDBC入门操作

    搭建开发环境 创建项目后,在项目下创建lib目录,复制mysql驱动jar包粘贴在lib中,右击jar包build path—Add build path MySQL驱动下载地址MySQLConnector/J编写程序,在程序中加载数据库驱动 DriverManager.registerDriver(new Driver());和MySQL数据库建立连接 Connection conn = DriverManager.getConnection(“jdbc:mysql:localhost:3306/jdbctest”,“用户名”,“密码”)创建用于向数据库发送SQL语句的Statement对象 Statement state = new Statement();从代表结果集的ResultSet中取出数据 ResultSet rs = state.executeQuery(“sql”);断开与数据库的连接,并且释放相关资源 conn.close();state.close();rs.close();

    JDBC的API

    DriverManager:驱动管理类

    主要作用

    一:注册驱动 DriverManager.registerDriver(new Driver())会注册两次驱动,因为DriverManager类中的静态代码块有注册驱动的代码,通常注册驱动的方式为:**Class.forName(“com.mysql.jdbc.Driver”)**此语句作用为加载Driver类,从而执行其静态代码块,来注册驱动 二:获得链接 Connection getConnection(String url,String username,String password); url写法:jdbc:mysql://localhost:3306/jdbctest jdbc:协议 mysql:子协议 localhost:主机名 3306:端口号 jdbctest:数据库名 url简写:jdbc:mysql:///jdbctest 默认连接的数据是本机

    Connection:连接对象

    主要作用

    一:创建用于执行SQL语句的对象 statement createStatement();执行SQL语句 preparedStatement prepareStatement(String sql);预编译SQL语句 CallableStatement prepareCall(String sql);执行SQL中的存储过程 二:进行事物的管理 setAutoCommit(boolean autoCommit);设置事务是否自动提交 commit();事务提交 rollback();事务回滚

    Statement:执行SQL

    主要作用

    一:执行单条SQL语句 execute(String sql);执行SQL语句,执行select语句返回true,否则返回false ResultSet executeQuery(String sql);执行SQL中的select语句,返回查询到的结果存入ResultSet结果集中 int executeUpdate(String sql):执行SQL中的insert/update/delete语句,返回影响的行数 二:批处理操作 addBatch(String sql):添加到批处理 executeBatch():执行批处理 clearBatch():清空批处理

    ResultSet结果集

    概述:执行查询语句后的结果的封装主要作用

    一:遍历查询的数据 next();判断是否存在下一个数据 二:获取某个特定数据 针对不同的类型的数据可以使用getXXX()来获取数据(如getInt/getLong) getObject(String columnLabel):通过名称来获取object对象

    JDBC的资源释放

    jdbc程序运行完后,切记要释放程序在运行过程中,创建的那些与数据库进行交互的对象,这些对象通常是ResulSet,Statement和Connection对象。 特别是Connection对象,它是非常稀有的资源,用完之后必须马上释放,如果Connection不能及时,正确的关闭,极易导致系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放

    正确资源释放的代码

    if(rs!=null){ try{ rs.close(); } catch(SQLException e){ e.printStackTrace(); } rs=null; }

    手动将对象置为null,系统才能将其垃圾回收

    Processed: 0.009, SQL: 8