JDBC:(java database Connection) java数据库连接。

JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。

JDBC连接步骤:

1.先导入jar包,把jar放入到工程下并 add Libar ay
2.加载驱动 Class.forName(“com.mysql.jdbc.Driver”);
3.获取连接对象 Connection connection=DriverManger.getConnection(url,user,password);
4.获取执行sql语句的对象: Statement

1.什么是sql注入 —> sql拼接安全问题

statement存在sql注入问题 : 因为它的sql字符串拼接

解决方案 : 使用PrepareStatement来进行sql的预编译

2.常见的JDBC组件

JDBC 的 API 提供了以下接口和类:

DriverManager :这个类管理一系列数据库驱动程序。匹配连接使用通信子协议从 JAVA 应用程序中请求合适的数据库驱动程序。识别 JDBC 下某个子协议的第一驱动程序将被用于建立数据库连接。

Driver : 这个接口处理与数据库服务器的通信。你将很少直接与驱动程序互动。相反,你使用 DriverManager 中的对象,它管理此类型的对象。它也抽象与驱动程序对象工作相关的详细信息。

Connection : 此接口具有接触数据库的所有方法。该连接对象表示通信上下文,即,所有与数据库的通信仅通过这个连接对象进行。

Statement : 使用创建于这个接口的对象将 SQL 语句提交到数据库。除了执行存储过程以外,一些派生的接口也接受参数。

ResultSet : 在你使用语句对象执行 SQL 查询后,这些对象保存从数据获得的数据。它作为一个迭代器,让您可以通过它的数据来移动。

SQLException : 这个类处理发生在数据库应用程序的任何错误。

3.代码演示

下面是我的代码举例:

1.首先要创建一个后缀为 properties 的文件,(注意必须要写在src路径下) 写入硬编码,目的是为了程序日后有变动的话直接在这个文件中更改,源代码保持不动。

2.创建实体类 包名命名为 entiy(实体)

3.建立util包,里面建立BaseDao类

-类作用主要用于将UserDao3类中的重复代码进行提取,提高效率;实现代码简洁。

4.创建实体类后紧跟要创建实体类Dao, 上面我的实体类名为 user3 那么Dao类名就可以为 user3Dao

Dao方法用来建立连接mysql数据库,实现程序连接数据库功能。

里面写入方法,需求(增删改查)

Original: https://www.cnblogs.com/qiaoyuqi/p/15457743.html
Author: 咸鱼乔
Title: JDBC:(java database Connection) java数据库连接。

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/572196/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JVM基础学习(一):JVM内存模型

    在Java进阶知识的学习中,JVM都是避不过去的一关,我个人对于JVM的理解其实就是相当于在操作系统的外层再加了一层中间层,从来屏蔽了具体硬件之间的不同实现,使得Java实现了最重…

    Java 2023年6月7日
    090
  • JAVA中计算两个日期时间的差值竟然也有这么多门道

    上半年春招的时候,作为面试官,对于面试表现的不错的同学会要求其写一小段代码看看。题目很简单: 给定一个日期,然后计算下距离今天相差的天数。 本以为这么个问题就是用来活跃面试氛围的,…

    Java 2023年6月7日
    075
  • 记录一次缓存引起的线上BUG

    背景 有一个需求大概是这样的,为了提高推荐系统的性能,需要本来从A服务获取的帖子信息,改为从Redis里面重新读取 Redis里面没有存帖子的所有信息,只存储了推荐系统必要的字段 …

    Java 2023年6月5日
    067
  • java selenium (十) 操作浏览器

    本篇文章介绍selenium 操作浏览器 操作cookie Original: https://www.cnblogs.com/TankXiao/p/5260557.htmlAut…

    Java 2023年5月29日
    0111
  • markdown mermaid饼图

    markdown,mermaid饼图的使用指南。饼图的使用很简单。 饼图 饼图是一种圆形的统计图形,它被分成多个切片来说明数字比例。 在饼图中,每个切片的弧长(以及因此它的中心角和…

    Java 2023年6月5日
    081
  • 调试webpack

    调试webpack 1. 摘要 用过构建工具webpack的朋友应该都体会,面对其几百行的配置内容如大海一小舟,找不到边。看文档查百度,对其构建的生命周期看了又看。最终还是很茫然。…

    Java 2023年6月13日
    066
  • Java基础问题

    基础问题 谈谈你对面向对象的理解 — 结合场景 为何要使用对象编程? 可重复利用,方便拓展 面向对象有三大特征:封装、继承和多态 封装:为什么要封装?可以使类的 成员(…

    Java 2023年6月7日
    073
  • spring boot启动的yml放在配置中心的流程管理

    引言 在上一节《淘东电商项目(09) -Maven私服的上传与下载详解》,主要讲解了如何上传jar包到Maven私服以及如何从Maven私服下载jar包。 代码已提交至Github…

    Java 2023年5月30日
    0108
  • 给ShardingSphere提了个PR

    说来惭愧,干了 10 来年程序员,还没有给开源做过任何贡献,以前只知道嘎嘎写,出了问题嘎嘎改,从来没想过提个 PR 去修复他,最近碰到个问题,发现挺简单的,就随手提了个 PR 过去…

    Java 2023年6月13日
    075
  • 微信分享自定义分享链接图文

    1、 绑定域名 先登录微信公众平台进入”公众号设置”的”功能设置”里填写”JS接口安全域名”(就是发布用的那…

    Java 2023年6月8日
    058
  • mybatis 3.2.3 maven dependency pom.xml 配置

    Original: https://www.cnblogs.com/lihaozy/p/3396008.htmlAuthor: kkmmTitle: mybatis 3.2.3 m…

    Java 2023年5月30日
    065
  • 人工智能与机器学习的不同之处

    人工智能早已不是一个新名词,它的发展历史已经有几十年。从80年代早期开始,当时计算机科学家设计出可以学习和模仿人类行为的算法。在学习方面,最重要的算法是神经网络,但由于模型过于强大…

    Java 2023年6月5日
    084
  • 引入Elasticsearch7.x版本后,原本好好的服务无法启动了

    问题背景 项目上使用的springboot版本是 2.1.1.RELEASE,现在因为要接入elasticsearch7.x版本,参考官方文档要求,需要将springboot版本升…

    Java 2023年6月6日
    098
  • 使用Jsonp实现跨域请求

    showData( {"data":[{"u":"/products/1.html","n":&qu…

    Java 2023年6月7日
    078
  • Java入门

    一、Java 1.1 为什么Java是平台无关性(可以跨平台) 二、Java环境 2.1、JRE 2.2、JDK 2.3、JVM 三、Java编译和运行的机制 四、Java基础 4…

    Java 2023年6月7日
    0120
  • Elasticsearch笔记

    1 创建index,type : localhost:9200/get-together/group/1?pretty 然后跟上body: {“name”:…

    Java 2023年6月7日
    073
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球