java-jdbc使用介绍

3 篇文章 0 订阅

JDBC

JDBC(Java Database Connectivity) Java 连接数据库的规范(标准),可以使用 Java 语言连接数据库完成 CRUD 操作。Java操作数据库的唯一方式。

JDBC
Java操作数据库的唯一方式,在Java程序中想操作数据库就需要使用JDBC
实现步骤:
1.创建项目-Idea
2.创建lib文件夹,复制jar包,然后右键->add as Lib…… 导入jar包
3.编写代码实现JDBC的编码
1.加载驱动,注册实现JVM加载驱动的实现类
2.创建连接对象,需要指定 url地址和账号和密码
url地址的格式:jdbc:mysql://ip地址:3306/数据库名
3.获取操作SQL操作对象
4.执行SQL语句
5.关闭释放
Statement的常用方法:
int executeUpdate(非查询sql语句):执行非查询的sql语句,返回受影响的行数
ResultSet executeQuery(查询sql语句):执行查询的sql语句,返回查询的结果集
ResultSet:结果集,类似迭代器
所有的查询的结果都是ResultSet
常用方法:
boolean next() 指针指向下一条数据,如果指向成功返回true,没有数据了就失败
int getInt(字段名称) : 通过字段名称获取内容
Int getInt(字段索引) : 通过字段的索引获取内容,索引从1开始

JDBC 核心思想

Java 中定义了访问数据库的接口,可以为多种关系型数据库提供统一的访问方式。由数据库厂商提供驱动实现类(Driver 数据库驱动)

在这里插入图片描述

JDBC 是由多个接口和类进行功能实现。

类型权限定名简介
classjava.sql.DriverManager管理多个数据库驱动类,提供了获取数据库连接的方法
interfacejava.sql.Connection代表一个数据库连接(当connection不是null时,表示已连接数据库)
interfacejava.sql.Statement发送SQL语句到数据库工具
interfacejava.sql.ResultSet保存SQL查询语句的结果数据(结果集)类似迭代器
classjava.sql.SQLException处理数据库应用程序时所发生的异常

环境搭建

  • 在项目下新建 lib 文件夹,用于存放 jar 文件。
  • 将 mysql 驱动mysql-connector-java-5.1.X复制到项目的 lib 文件夹中。
  • 选中 lib 文件夹右键 Add as Libraay,点击 OK。

JDBC 开发步骤

  • 注意:在编写 DML 语句时,一定要注意字符串参数的符号是单引号 ‘值’
  • DML 语句:增删改时,返回受影响行数(int 类型)。
  • DQL 语句:查询时,返回结果数据(ResultSet 结果集)。

连接

		//加载驱动,使用 Class.forName("com.mysql.jdbc.Driver");手动加载字节码文件到 JVM 中。
        Class.forName("com.mysql.cj.jdbc.Driver");
        //获取连接对象,URL(Uniform Resource Locator) 统一资源定位符:由协议、IP、端口、SID(程序实例名称)组成
        Connection connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/school"
                ,"root","123456");
        //获得执行sql的对象,通过 Connection 对象获得 Statement 对象,用于对数据库进行通用访问
        Statement statement=connection.createStatement();
        //执行sql语句,并接受结果,返回值r为sql语句操作的行数,若为则表示为操作成功或无数据变化。
        int result = statement.executeUpdate("delete from teacher");
        System.out.println(result);

执行sql语句DML

		//r1为执行修改的行数,(注:该行若已经修改过,再次执行修改语句虽然结果未有任何改变,但事实上已经执行过修改语句,算修改的行)
		int r1=statement.executeUpdate
                ("insert into teacher (age,subject,name) values(22,'语文','小小')");
		//r2为插入的行
        int r2=statement.executeUpdate
                ("update teacher set name ='大熊' where id =2");
		//r3删除数据的行数;
        int r3=statement.executeUpdate("delete from animal");

● 受影响行数:逻辑判断、方法返回。
● 查询结果集:迭代、依次获取。

执行 SQL 语句并接收执行结果

ResultSet resultSet=statement.executeQuery("select * from teacher");
        while(resultSet.next()){
            System.out.print(resultSet.getInt("id")+"\t");
            System.out.print(resultSet.getInt("age")+"\t");

            System.out.print(resultSet.getString("subject")+"\t");
            System.out.println(resultSet.getString("name"));

        }

资源释放

		resultSet.close();
        statement.close();
        connection.close();

`

资源释放

		resultSet.close();
        statement.close();
        connection.close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值