JAVA连接数据库 JDBC编程

这篇具有很好参考价值的文章主要介绍了JAVA连接数据库 JDBC编程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提供修改数据库和查询数据库的代码,两者只有很细微的差别

一.前期准备:

        注意在进行连接数据库首先你得下载你对应MYSQL版本的JDBC驱动包,比如MYSQL8.0版本的你就要下载MYSQL8.0版本的JDBC驱动包,MYSQL5.1版本的你就要下载MYSQL5.1版本的JDBC驱动包

我下载的8.0版本的驱动包就是这个样子

JAVA连接数据库 JDBC编程,java,数据库,开发语言

         下载了驱动包以后要在你的项目当中创建一个Directory的包,将你的JDBC驱动包粘贴到你创建的这个包中

JAVA连接数据库 JDBC编程,java,数据库,开发语言

        粘贴了以后右键你创建的这个包,点击Add as Library(你得告诉它你粘贴进来的这是一个库)这样JDBC驱动包的导入就完成了

JAVA连接数据库 JDBC编程,java,数据库,开发语言

        二.修改数据库代码:

import com.mysql.cj.jdbc.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: wuyulin
 * Date: 2023-07-19
 * Time: 14:55
 */
public class JDBCdemo1Insert {
    public static void main(String[] args) throws SQLException {
        //确定数据库中有一个student表(id,name)往里面插入一个数据

        //一,创建数据源(数据库服务器在哪里)
        DataSource dataSource = new MysqlDataSource();    //典型的向上转型
        //设置属性
        //1.填入数据库服务器所在的位置
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/jdbcexercise?characterEncoding=utf8&useSSL=false&serverTimezone=UTC"); //向下转型

        //用下面这个方法也是一样的,但是上面的方法可以降低mysql驱动包和项目之间的偶合关系,避免后面更换数据库时有太大成本
        //MysqlDataSource mysqlDataSource=new MysqlDataSource();
        //mysqlDataSource.setUrl();
        //2.填入数据库的用户名
        ((MysqlDataSource) dataSource).setUser("root");
        //3.填入数据库的密码
        ((MysqlDataSource) dataSource).setPassword("xxxx");
        //到这里,只是描述了一下数据库服务器所在的地址,还没有真正的连接数据库服务器

        //二.与数据库服务器建立连接
        Connection connection = dataSource.getConnection();   //建立网络连接会有很多异常,可以抛给上一级进行处理

        //三.构造sql语句
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入id");
        int id =sc.nextInt();
        System.out.println("请输入name");
        String name=sc.next();
        String sql = "insert into student values(?,?)"; //?表示占位符,表示后面再赋值
        //把String类型的sql语句转换成PreparedStatement类型的语句再传递给mysql服务器
        //Statement类型的sql语句也可以传递给mysql服务器,但是一般推荐用PreparedStatement
        //PreparedStatement会再传递给mysql服务器前在客户端这边进行初步解析,这样就能减少服务器的压力,而Statement不会进行初步解析
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id); //设置第一个?是整数,为id变量
        statement.setString(2,name);    //设置第二个?是字符串,为name变量

        //四.执行sql语句
        int n = statement.executeUpdate();
        //返回值n表示被影响的数据行数
        System.out.println(n + "条记录被影响");

        //五.释放必要的资源,关闭连接
        //创建的语句对象,连接对象,这些资源不用了要及时释放
        //要注意关闭的顺序,先创建的后关闭,后创建的先关闭
        statement.close();
        connection.close();
    }
}

1.假设数据库中有一个表

        假设数据库中有一个student表(id,name)现在我们要往里面插入一个数据(你可以先在数据库中创建好这张表方便检验)

2.创建数据源(数据库服务器在哪里)

        创建数据源的代码运用到了 DataSource dataSource = new MysqlDataSource()是父类引用指向子类对象运用到了向上转型,(MysqlDataSource) dataSource)运用到了向下转型,因为只有子类MysqlDataSource对象才能调用setUrl等方法,我们在创建数据源的时候也可以直接创建MysqlDataSource的引用指向MysqlDataSource的对象,再直接用MysqlDataSource的引用调用setUrl等方法,就不需要用到向上和向下转型了,但我们运用转型的这种方法可以降低mysql驱动包和项目之间的偶合关系,避免后面更换数据库时有太大成本。

        setUrl()中输入的参数是你当前电脑数据库的URL(数据库资源的位置)

URL的组成

JAVA连接数据库 JDBC编程,java,数据库,开发语言

         除了这个照片中的介绍的我还添加了serverTimezone=UTC,添加这个的原因在JDBC编程连接MySQL数据库遇到的两个错误中有提到

        setUser()是数据库的用户名

        setPassword()是数据库的密码

3.与数据库建立连接

        通过数据源dataSource调用其中的getConnection()方法建立连接,并将返回值赋给Connection类型的引用

4.构造sql语句

        我们将sql语句写为一个String类型的对象,再通过connection引用调用prepareStatement(sql)方法将String类型的sql语句转换成PreparedStatement类型的sql语句,

为什么用PreparedStatement类型而不用Statement类型

        Statement类型的sql语句也可以传递给mysql服务器,但是一般推荐用PreparedStatement
        PreparedStatement会再传递给mysql服务器前在客户端这边进行初步解析,这样就能减少服务器的压力,而Statement不会进行初步解析,所以我们一般推荐用PreparedStatement类型

5.执行sql语句

        通过statement引用来调用executeUpdate()方法执行sql语句,对数据库进行修改,如增删改都是调用executeUpdate()方法,而对数据库进行查询调用的则是executeQuery()方法

        调用executeUpdate()方法放回的是对数据库影响的行数,而executeQuery()方法返回的是查询到的表格是ResultSet类型的,然后通过遍历ResultSet类型的表格来输出查询到的结果

6.释放必要的资源,关闭连接

        要保持良好的编程习惯,创建的语句对象,连接对象,这些资源不用了要及时释放
        要注意释放的顺序,先创建的后释放,后创建的先释放

三.查询数据库的代码

import com.mysql.cj.jdbc.MysqlDataSource;
import com.mysql.cj.protocol.Resultset;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: wuyulin
 * Date: 2023-07-19
 * Time: 20:06
 */
public class JDBCdemo3Select {
    public static void main(String[] args) throws SQLException {
        //1.创建数据源‘
        DataSource dataSource=new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/jdbcexercise?characterEncoding=utf8&useSSL=false&serverTimezone=UTC");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("1868397383q");

        //2.连接数据库
        Connection connection=dataSource.getConnection();

        //3.构造sql语句
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要查询的id");
        int id=sc.nextInt();
        String sql="select * from student where id=?";
        PreparedStatement preparedStatement=connection.prepareStatement(sql);
        preparedStatement.setInt(1,id);

        //4.执行sql
        ResultSet resultset=preparedStatement.executeQuery();   //ResultSet是表格,查询sql语句执行返回的是表格
        //遍历表格
        while (resultset.next()){
            int student_id=resultset.getInt("id");
            String student_name=resultset.getString("name");
            System.out.println("id="+student_id+",name="+student_name);
        }

        //释放资源
        resultset.close();
        preparedStatement.close();
        connection.close();
    }
}

如何遍历ResultSet类型的临时表

        JAVA连接数据库 JDBC编程,java,数据库,开发语言文章来源地址https://www.toymoban.com/news/detail-607885.html

到了这里,关于JAVA连接数据库 JDBC编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JDBC --- Java的数据库编程

    目录 🍈一、数据库编程的必备条件 🍉二、什么是 JDBC JDBC 的优势 🍊三、JDBC 使用流程 以及 常用接口和类的讲解 🍡0. 前置工作 🍭1. 引入依赖 🍬2. 数据库连接Connection 🍬3. 创建操作命令 Statement 🍫4. 使用操作命令来执行 SQL 🧁5. 处理结果集 ResultSet 🍰6. 释放资源 🎂完整

    2024年02月09日
    浏览(62)
  • 【JDBC】Java连接MySQL数据库

    数据库编程指的是通过编程语言与数据库进行交互和操作的过程,包括使用编程语言创建、连接、查询、更新和删除数据库中的数据,以及管理数据库结构和其他相关工作等。 另外,不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提供了Java的驱动包

    2024年02月15日
    浏览(141)
  • Java-JDBC连接数据库

    目录 一、JDBC开发步骤 1.Java程序连接数据库 1.1引入MySQL驱动包 1.2Java连接MySQL步骤 2 实现增删改查操作 2.1 添加数据 2.2 修改数据 2.3 删除数据 2.4 查询数据 二、JDBC处理相关问题 1 解决SQL注入问题 1.1、问题演示 1.2、解决问题 2 JDBC事务处理 3 获取自增长键值 4 批处理操作 1.1 引入

    2024年02月09日
    浏览(50)
  • 【数据库】Java的JDBC编程(idea链接数据库)

    目录 前言 1、Java的数据库编程:JDBC    2、使用JDBC(项目中导入数据库驱动包) 2.1、获取驱动包 2.2、将数据库驱动包导入Java项目中 2.3、使用JDBC编写代码 2.3.1、创建并初始化一个数据源 2.3.2、 和数据库服务器建立链接 2.3.3、构建SQL语句  2.3.4、执行SQL语句  2.3.4、释放资源

    2024年02月02日
    浏览(51)
  • 通过JDBC连接数据库并用Java把数据写入数据库

    目录 1.新建项目 2.在src包下新建lib包,用来存放jar包(下载对应jar包复制到lib包里) 3.右键导入的jar包,找到并单击\\\"添加到库\\\"(add....) 4.在src包下新建bean包,新建class类 5.class类中写数据库表中对应的列名的set get方法、空参、有参(String方法)注意:类名为私有类(private),新建类时数

    2024年02月02日
    浏览(69)
  • 【大数据笔记】java jdbc连接hive数据库;java hive连接kerberos

    1、pom.xml配置         dependency             groupIdorg.apache.hive/groupId             artifactIdhive-jdbc/artifactId             scope2.1.1/scope         /dependency 2、驱动 org.apache.hive.jdbc.HiveDriver 3、用传统改的Class.forName,然后DriverManager去拿。 二、java hive连接kerberos

    2024年01月19日
    浏览(45)
  • JAVA使用JDBC连接oracle数据库

    首先给出代码和输出:  讲解下代码  Class.forName(\\\"oracle.jdbc.OracleDriver\\\");这段代码是用来加载驱动的。 通过静态类DriverManager的getConnection方法配置连接字符串 DriverManager.getConnection(\\\"jdbc:oracle:thin:@192.168.10.150:1521:orcl11g\\\",\\\"xielong\\\",\\\"xielong\\\"); 其中ip为oracle数据库地址,1521为默认的数据

    2024年02月13日
    浏览(48)
  • 【Java 进阶篇】深入理解 JDBC:Java 数据库连接详解

    数据库是现代应用程序的核心组成部分之一。无论是 Web 应用、移动应用还是桌面应用,几乎都需要与数据库交互以存储和检索数据。Java 提供了一种强大的方式来实现与数据库的交互,即 JDBC(Java 数据库连接)。本文将深入探讨 JDBC 的各个方面,从基本概念到实际编程示例

    2024年02月07日
    浏览(59)
  • java连接mysql8.0数据库—jdbc连接

    mysql官网 点击platform Independent ,然后出现jar包选项 点download 点左下角no thanks,直接下载 原始方法,直接在项目下建一个lib包 然后将刚刚下好的zip解压,复制jar包到该目录下,右键jar包,选择add as Library 出现一堆包,表示成功导入jar包 注意:Driver类创建时,要导入com.mysql.cj.

    2024年02月13日
    浏览(65)
  • Java数据库连接:JDBC介绍与简单示例

    在Java程序中,操作数据库是必不可少的。JDBC(Java Database Connectivity)是Java中用于连接和操作数据库的一种技术。通过JDBC,Java程序可以与各种关系型数据库进行交互,如MySQL、Oracle、PostgreSQL等。 JDBC是一种标准的Java API,它提供了一组接口,通过这些接口Java程序可以与数据库

    2024年02月07日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包