当前位置:网站首页 > 数据科学与大数据 > 正文

jdbc连接数据库密码加密(jdbc连接数据库5个步骤mysql)



JDBC 就是使用Java语言操作关系型数据库的一套API

全称:( Java DataBase Connectivity ) Java 数据库连接

  • 官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口
  • 各个数据库厂商去实现这套接口,提供数据库驱动jar包
  • 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类
  • 创建工程,导入驱动jar包

    在lib文件夹下导入包
    如何获取jar包:【点击这里】
    在这里插入图片描述

  • 注册驱动
     
  • 获取连接
     

    Java代码需要发送SQL给MySQL服务端,就需要先建立连接

  • PreparedStatement
     
  • 获取执行SQL对象

    执行SQL语句需要SQL执行对象,而这个执行对象就是Statement对象

     
  • 执行SQL
     
  • 处理返回结果
  • 释放资源

示例代码:

 
  

DriverManager(驱动管理类)作用:

作用一:注册驱动

registerDriver方法是用于注册驱动的,但是我们之前做的入门案例并不是这样写的。而是如下实现

 
  

查询MySQL提供的Driver类,看它是如何实现的,源码如下:

 
  

在该类中的静态代码块中已经执行了 对象的 方法进行驱动的注册了,那么我们只需要加载 类,该静态代码块就会执行。而 就可以加载 类。

作用二:获取数据库连接

参数说明:

  • url : 连接路径

    语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2…

    示例:jdbc:mysql://127.0.0.1:3306/db1

    细节:

    • 如果连接的是本机mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称?参数键值对
    • 配置 useSSL=false 参数,禁用安全连接方式,解决警告提示
  • user :用户名
  • poassword :密码

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

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

2.2.1 获取执行对象

  • 普通执行SQL对象
     

    入门案例中就是通过该方法获取的执行对象。

  • 预编译SQL的执行SQL对象:防止SQL注入
     

    通过这种方式获取的 SQL语句执行对象是重点,它可以防止SQL注入。

  • 执行存储过程的对象
     

    通过这种方式获取的 执行对象是用来执行存储过程的,而存储过程在MySQL中不常用

2.2.2 事务管理

MySQL事务管理的操作:

  • 开启事务 : BEGIN; 或者 START TRANSACTION;
  • 提交事务 : COMMIT;
  • 回滚事务 : ROLLBACK;

MySQL默认是自动提交事务

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

  • 开启事务
     
  • 提交事务
     
  • 回滚事务
     

示例代码:

 
  

作用就是用来执行SQL语句

  • 执行DDL、DML语句
  • 执行DQL语句

在这里插入图片描述

 
  

ResultSet使用

在这里插入图片描述

ResultSet(结果集对象)作用:

  • 封装了SQL查询语句的结果。

而执行了DQL语句后就会返回该对象,对应执行DQL语句的方法如下:

 
  

那么我们就需要从 对象中获取我们想要的数据。 对象提供了操作查询结果数据的方法,如下:

boolean next()

  • 将光标从当前位置向前移动一行
  • 判断当前行是否为有效行

方法返回值说明:

  • true : 有效航,当前行有数据
  • false : 无效行,当前行没有数据

xxx getXxx(参数):获取数据

  • xxx : 数据类型;如: int getInt(参数) ;String getString(参数)
  • 参数
    • int类型的参数:列的编号,从1开始
    • String类型的参数: 列的名称

示例代码:

 
  

练习

需求:已知stu数据库中有张表student,将表中数据封装到实体类User中,并添加到集合中再打印集合。

在这里插入图片描述

创建实体类:

 
  
 
  

2.5.1 PreparedStatement用处

在这里插入图片描述

PreparedStatement又是如何解决SQL注入漏洞问题的呢?它是将特殊字符进行了转义.

示例代码:解决SQL注入问题

 
  

2.5.2 PreparedStatement原理

在这里插入图片描述

  • 数据库连接池是个容器,负责分配、管理数据库连接(Connection)
  • 它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;
  • 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏
  • 好处
    • 资源重用
    • 提升系统响应速度
    • 避免数据库连接遗漏
  • 标准接口:DataSource

    官方(SUN) 提供的数据库连接池标准接口,由第三方组织实现此接口。该接口提供了获取连接的功能:

     

    那么以后就不需要通过 对象获取 对象,而是通过连接池(DataSource)获取 对象。

  • 常见的数据库连接池
    • DBCP
    • C3P0
    • Druid

    我们现在使用更多的是Druid,它的性能比其他两个会好一些。

  • Druid(德鲁伊)
    • Druid连接池是阿里巴巴开源的数据库连接池项目
    • 功能强大,性能优秀,是Java语言最好的数据库连接池之一

Driud使用

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

首先需要先将druid的jar包放到项目下的lib下并添加为库文件

编写配置文件如下:

 
  

示例代码:

 
  

(用数据库连接池)

完成商品品牌数据的增删改查操作

  • 查询:查询所有数据
  • 添加:添加品牌
  • 修改:根据id修改
  • 删除:根据id删除

数据准备:

  • 数据库表

    在stu数据库中创建tb_brand表,因为在配置文件中连接的是stu数据库

     

实体类:在pojo包下实体类 Brand

 
  

在这里插入图片描述

3.3.1 查询所有数据

 
  

3.3.2 添加品牌

 
  

3.3.3 根据id修改

修改前:

在这里插入图片描述

修改后:

在这里插入图片描述

 
  

3.3.4 根据id删除

到此这篇jdbc连接数据库密码加密(jdbc连接数据库5个步骤mysql)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
  

                            

版权声明


相关文章:

  • 数据库课程设计(数据库课程设计选题)2025-08-10 19:18:06
  • 数据中台建设方案规划(数据中台建设要求)2025-08-10 19:18:06
  • 达梦数据库端口号被占用(达梦数据库默认口令)2025-08-10 19:18:06
  • vue父子组件传递数据(vue父子组件传方法)2025-08-10 19:18:06
  • 三个常用的中文期刊数据库(常用的中文期刊全文数据库)2025-08-10 19:18:06
  • 如何使用spss做一份数据分析(如何使用spss做一份数据分析表)2025-08-10 19:18:06
  • 小米手机数据迁移微信记录还在吗怎么办(小米手机搬家微信聊天记录怎么没有同步)2025-08-10 19:18:06
  • sundb数据库项(数据库 dbs)2025-08-10 19:18:06
  • mongodb数据库的优势(mongodb数据库设计)2025-08-10 19:18:06
  • 自动驾驶数据安全(自动驾驶数据安全问题文献)2025-08-10 19:18:06
  • 全屏图片