JDBC连接数据库

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

目录

一、JDBC概念

1.1Java操作数据库的流程

1.2编写代码步骤

1.3具体操作

二、JDBC API详解

2.1 DriverManager(驱动管理类) 作用

2.2 Connection(数据库连接对象)作用:

2.3 Statement  

2.4 ResultSet (结果对象集)作用

2.5 PreparedStatement 

三、数据库连接池实现

一、JDBC概念

JDBC 就是使用 Java语言操作关系型数据库的一套API,全称(Java DataBase Connectivity)        java数据库连接;

1.1Java操作数据库的流程

  • 第一步:编写Java代码
  • 第二步:Java代码将SQL发送到MySQL服务端
  • 第三步:MySQL服务端接收到SQL语句并执行该SQL语句
  • 第四步:将SQL语句执行的结果返回给Java代码

1.2编写代码步骤

  • 创建工程,导入驱动jar包
  • 注册驱动
  • 获取连接
  • 定义SQL语句
  • 获取执行SQL对象
  • 执行SQL
  • 处理返回结果
  • 释放资源

1.3具体操作

1.3.1 创建新的空的项目

JDBC连接数据库

1.3.2定义项目的名称,并指定位置

JDBC连接数据库

 1.3.3 对项目进行设置,JDK版本,编译版本

JDBC连接数据库

 1.3.4 创建模块,指定模块的名称及位置

JDBC连接数据库

 1.3.5 导入驱动包

将mysql的驱动包放在模块下的lib(自己创建并命名的文件夹)目录下,并将该jar添加为库文件。

驱动包的下载:

  • 1.打开 MySQL 官网:https://www.mysql.com/ mysql官网
  • 2.点击 downloads,把页面滚动到最下面,点击 MySQL Community (GPL) Downloads
  • 3.点击 Connector/J
  • 4.点击 General Availability(GA) Releases,在 Select Operating System 下拉列表选择 Platform Independ

JDBC连接数据库

JDBC连接数据库

JDBC连接数据库

JDBC连接数据库

JDBC连接数据库

 注意在添加库文件时有三个选项:

  • Global Library : 全局有效
  • Project Library : 项目有效
  • Module Library : 模块有效

根据自己的需求进行选择,这里我选择的是模块有效

1.3.6 在src下创建类

JDBC连接数据库

 然后编写如下代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class test01 {
    public static void main(String[] args) throws Exception {
        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接
        String url ="jdbc:mysql://127.0.0.1:3306/dd1";
        String username ="root";
        String password ="root3340";
        Connection conn = DriverManager.getConnection(url,username,password);
        //3.定义sql
        String sql ="update account set money =2000 where id =1";
        //4.获取执行sql的对象
        Statement stmt = conn.createStatement();
       //5.执行sql
        int count= stmt.executeUpdate(sql);//返回值返回的是影响的行数
        //6.处理返回结果
        System.out.println(count);
        //7.释放资源
        conn.close();
        stmt.close();
    }
}

二、JDBC API详解

2.1 DriverManager(驱动管理类) 作用

2.1.1注册驱动

registerDriver方法用于注册驱动的

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

查看Driver类的源码:

JDBC连接数据库

 注意:MySQL 5之后的驱动包,可以省略注册驱动的步骤;

 自动加载jar包中META-INF/services/java.sql.Driver文件中的驱动类;

2.1.2 获取数据库连接

static Connection         getConnection(String url,String user,String password)

参数:

  • url:连接路径
  1. 语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2...
  2. 实例:jbdc:mysql://127.0.0.1:3306/dd1
  • user:用户名
  • password:密码

2.2 Connection(数据库连接对象)作用:

  • 获取执行SQL的对象
  • 管理事务

2.2.1 获取执行对象

  • 普通执行SQL对象:
  • Statement createStatement()
  • 预编译SQL的执行SQL对象:防止SQL注入:
  • PreparedStatement prepareStatement(sql)
  • 执行存储过程的对象
  • CallableStatement prepareCall(sql)

2.2.2 事务管理

Connection接口中定义了3个对应的方法

  • 开启事务 void setAutoCommit(boolean autoCommit) 将此连接的自动提交模式设置为给定状态。参与autoCommit表示是否自动提交事务,true表示自动提交事务,false表示手动提交事务。而开启事务需要将该参数设为false。
  • 提交事务 void commit() 使自上次提交/回滚以来所做的所有更改为永久更改,并释放此Connection对象当前持有的所有数据库锁。
  • 回滚事务 void rollback() 撤销当前事务中所做的更改,并释放此Connection对象当前持有的所有数据库锁

2.3 Statement  

概述:Statement对象的作用就是用来执行SQL语句,而针对不同类型的SQL语句使用的方法也不一样。

  • 执行DDL、DML语句
  • int executeUpdate(String sql) 执行给定的SQL语句,这可能是INSERT,UPDATE或DELETE语句,或者不返回任何内容,如SQL,DDL语句的SQL语句。
  • 执行DQL语句
  • ResultSet executeQuery(String sql)  执行给定的SQL语句,该语句返回单个ResultSet对象。

2.4 ResultSet (结果对象集)作用

封装SQL查询语句的结果。

执行DQL语句就会返回该对象,对应执行DQL语句的方法如下 :
ResultSet executeQuery(sql):执行DQL语句,返回ResultSet 对象

ResultSet对象提供了操作查询结果数据的方法如下:

  •  boolean next()
  • 将光标从当前位置向前移动一位
  • 判断当前行是否为有效行;ture:有效行,当前行有数据;false:无效行,当前行没有数据
  • xxx getxxx (获取数据)
  • xxx:数据类型 如int getInt(参数);String getString(参数)参数:int类型的参数,列的编号,从1开始,String类型的参数:列的名称。

 2.5 PreparedStatement 

  • 作用:预编译SQL语句并执行,防止SQL注入问题;
  • SQL注入:SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器攻击的方式。
  • 1.获取PreparedStudent对象
  • String sql ="select *from user where username ="root" and password ="1234";
  • 通过Connection对象获取,并传入对应sql语句;
  • PreparedStatement pstmt = conn.preparedstatement(sql);
  • 2.设置参数值
  • PreparedStatement对象:setxxx(参数1:位置编号从1开始,参数2:xxx的值)xxx:数据类型;
  • 3.执行SQL语句:
  • executeUpdate():执行DDL语句和DML语句;
  • executeQuery():执行DQL语句;
       //1:注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2:获取连接
        String url ="jbdc:mysql:///dd1?useSSL=false";
        String username1 ="root";
        String password1 ="1234";
        Connection conn = DriverManager.getConnection(url,username1,password1);
        //定义接收用户输入和用户名和密码:
        String name ="zhangsan";
        String pwd ="ffff";
        //3:定义sql
        String sql ="select *from tb_user where username=? and password=?";
       //4.获取PreparedStatement对象
        PreparedStatement pstmt = conn.prepareStatement(sql);
        //设置?
        pstmt.setString(1,name);
        pstmt.setString(2,pwd);
        //5.执行sql
        ResultSet resultSet = pstmt.executeQuery();
        //判断是否成功与否
        if(resultSet.next()){
            System.out.println("登录成功!");
        }else{
            System.out.println("登录失败");
        }
        //7.释放资源
        conn.close();
        pstmt.close();
        resultSet.close();

三、数据库连接池实现

数据库连接池简介:

  • 数据库连接池是个容器,负责分配、管理数据库连接(Connection)
  • 它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;
  • 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏

好处:

  • 资源重用
  • 提升系统响应速度
  • 避免数据库连接遗漏
  • 标准接口:DataSource;
  • 接口提供的获取连接的功能:Connection getConnection();
  • 常见的数据库连接池:DBCP、C3P0、Driud;

Driud使用

  • 导入jar包
  • 定义配置文件
  • 加载配置文件
  • 获取数据库连接池对象
  •  获取连接

具体的步骤:

1.现在通过代码实现,首先需要先将druidjar包放到项目下的lib下 并添加为库文件

JDBC连接数据库

 2.编写的配置文件如下:

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db1?
useSSL=false&useServerPrepStmts=true
username=root
password=1234
# 初始化连接数量
initialSize=5
# 最大连接数
maxActive=10
# 最大等待时间
maxWait=3000

3.使用的代码如下:文章来源地址https://www.toymoban.com/news/detail-450780.html

* Druid数据库连接池演示
*/
public class DruidDemo {
    public static void main(String[] args) throws
Exception {
        //1.导入jar包
        //2.定义配置文件
        //3. 加载配置文件
        Properties prop = new Properties();
        prop.load(new FileInputStream("jdbc-demo/src/druid.properties"));
        //4. 获取连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
        //5. 获取数据库连接 Connection
        Connection connection = dataSource.getConnection();
        System.out.println(connection); //获取到了连接后就可以继续做其他操作了
      
); }}

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

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

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

相关文章

  • 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连接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日
    浏览(46)
  • 数据库--教务管理系统(数据库部分--Java-jdbc连接)

    我所设计的教务管理系统包括6大部分,学生信息、教师信息、课程信息、班级信息、选课信息、教授信息。该系统可以通过不同的群体进行操作:学生群体可以对个人信息、班级、教师信息进行查询操作,对于课程则可以进行选课操作;教师群体可以个人信息、班级信息、学

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

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

    2024年02月07日
    浏览(62)
  • Java的JDBC编程—连接Mysql数据库

    目录 一、 Java的数据库编程:JDBC 二、JDBC工作原理 三、 JDBC使用 四、JDBC使用步骤总结  五. JDBC常用接口和类 5.1 JDBC API 5.2 数据库连接Connection 5.3 Statement对象 5.4 ResultSet对象      JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据

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

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

    2024年02月07日
    浏览(59)
  • 【JDBC篇】java 如何连接数据库(超详细步骤)

    本文以java连接mysql为例讲解;仅仅记录了一部分知识点,其余我还没学完,后面会补充!初学JDBC文章仅仅是我个人对知识点的理解,请谨慎参考! 目录 Java连接数据库前期工作: JDBC程序编写步骤总览  JDBC编程的六步: 1,注册驱动   2,获得连接   3,获得数据库操作对象

    2024年02月08日
    浏览(64)
  • Java-JDBC建立数据库连接(MySQL)

    注意:连接数据需要先在JAVA中导入mysql的jar包。 1.1—下载JAR包 1、打开浏览器搜索MySQL,进入官网 2、点击DOWNLOADS    3、点击 MySQL Community (GPL) Downloads  4、点击Connector/J 5、点击Archieve 6、选择版本,和OS,然后点击下载即可。          版本号 下载地址 8.0.32 https://download

    2024年02月03日
    浏览(77)
  • JDBC-->java如何连接数据库(详细版小白必备)

     个人名片: 🐅作者简介:一名大二在校生,热爱生活,爱好敲码! 💅个人主页 🥇:holy-wangle ➡系列内容: 🖼️ tkinter前端窗口界面创建与优化 🖼️ Java实现ATP小系统 ✨个性签名: 🍭不积跬步,无以至千里;不积小流,无以成江海         最近在忙着复习期末考试

    2024年02月04日
    浏览(52)
  • Java连接mysql数据库方法及代码(jdbc)

    编译器使用IDEA 我的相关博客: java代码程序中连接mysql数据库的方法及代码 mysql数据库并发上锁问题,java代码 1.首先从mysql官网下载mysql-connector-java.jar包到本地。 这里注意要和你本地的mysql数据库版本相匹配! 下载相应的压缩包,在本地解压即可进行下一步操作。 2.打开自己

    2024年02月08日
    浏览(68)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包