Jdbc

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: jdbc 全称:Java Data Base Connection    以后我们不会直接使用JDBC,因为过于麻烦,后期工程中直接使用包装的数据库操作插件:                                                                      .

jdbc 全称:Java Data Base Connection

  

以后我们不会直接使用JDBC,因为过于麻烦,后期工程中直接使用包装的数据库操作插件:
                                                                                                                                        EJB 实体Bean

                                                                                                                                        Hibernate

                                                                                                                                        Spring数据库持久插件

                                                                                                                                        MyBatis

插件的作用:让我们的操作更面向对象

面向SQL编程:一切尽量用sql解决


java连接数据库过程:java————jdbc——sql语句——MySQL


插件连接数据库过程:java—————操作人员————插件———jdbc————sql——MySQL


插件:改变了呈现方式,将sql包装了起来,你用就用我的对象就行了不用你再去管sql,我们用的就是一个对象。


JDBC:全部都是接口


C语言 DBC      

 VB     ODBC  

                    用的是桥接技术连接数据库

桥接技术:用VB连接odbc再用odbc连接 不同的数据库


假如用VB连接MySQL由你MySQL写驱动 通过VB连接桥接 桥接连接MySQL驱动来实现连接


Java用的是网络连接数据库:jdbc只是接口、实现是数据库公司用Java来写实现。


java想要连接数据库必须有相对应的驱动


驱动是什么:驱动是实现代码


Java通过网络——————————直接连接数据库(要找相对应的驱动)


如何在idea中链接驱动:
                                    

97ff34745a31a6d0986e1536cdf3eeb1f577b2745eff9d0db00d83c520b19a72b19ecaaea26b8691


架包:架包就是一个压缩包

                                        很多的class文件打成的包 、方便别的工程运行



数据库连接步骤:
                           1.找驱动 ? 就是找数据库实现接口代码                     

                           2.把驱动加入到工程中(只有加入进去你的工程才能使用这些代码)

                              举例:我想让Java软件播放视频、需要视频解码器、想连接蓝牙、需要蓝                                                                                                                                         牙连接驱动


                           3.Class.forName("包+类名");  驱动加载(5以上版本的驱动都会自动加载类,所以可以不写这个操作)   

                            反射机制中的类加载

                           会执行静态块

                           加载驱动的目的,就是为了启动他们的静态块,静态块中写了注册了驱动代码

                         

  new com.mysql.cj.jdbc.Driver();创建对象加载类中的静态块代码 静态块中有加载驱动代码

//        Class.forName("com.mysql.cj.jdbc.Driver"); 加载类
                          驱动代码不用谢也可以因为有services中有加载驱动代码 只要加载工程就会启动驱动

                   

                         4.创建数据库连接对象Connection

                         我们用的代码全在java.sql.包下

                          

                         url 数据库连接字符串

                                                         老版本的   jdbc:mysql://localhost:3306/mydb

                                                                                                                                jdbc:mysql 

                                                                                                                               //localhost:3306 端口 IP

                       MYSQL8连接字符串                     

                                                      jdbc:mysql://localhost/student?useSSL=FALSE&serverTimezone=UTC

                      user 数据库用户名

                      password 密码


错误解答:

                1.No suitable driver found for

                      1.工程中没有添加数据库jar包

                      2.连接字符串没有写对 

                      3.如果是老数据库连接,有可能你没有加载驱动类

               2.Access denied for user 'root'@'localhost' (using password: YES)

                  数据库登录密码错误

               3.java.net.ConnectException: Connection refused: connect          

                       网络连接错误

                       1.数据库服务器没有打开

                       2.数据库字符串的端口写错了

                         mysql是默认端口,就算你不写也默认3306

                      3.网络是否通?

                      4.服务器是否有防火墙

                             1.安全组是否拦截3306连接

                             2.操作系统中防火墙是否拦截3306


如何设置windows防火墙              

                                     1.打开控制面板

                                     2.高级设置

                                     3.入站规则       

                                     4.新建规则 

                                     5.选择端口                                                                                                          

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
Java 关系型数据库 MySQL
JDBC是真的啰里啰嗦啊-但是很重要!(上)
JDBC是真的啰里啰嗦啊-但是很重要!
|
7月前
|
XML 存储 Java
什么是jdbc?为什么要用jdbc
什么是jdbc?为什么要用jdbc
|
8月前
|
SQL Oracle 数据可视化
|
8月前
|
SQL 人工智能 数据可视化
JDBC的“那些事“之应当注意的问题(上)
JDBC的“那些事“之应当注意的问题(上)
|
8月前
|
SQL 存储 关系型数据库
JDBC的“那些事“之应当注意的问题(中)
JDBC的“那些事“之应当注意的问题(中)
|
10月前
|
Java 关系型数据库 MySQL
JDBC1.0
JDBC是JAVA十三大规范之一,由JAVA定义顶级接口API,各个数据库厂商去实现。常用的四大接口——Driver,DriverManager,Connection,Statement。 这里先给出结论: 所谓的JAVA制定标准,就是指JAVA给出接口,厂家各自去实现。 比如Driver,Connection,Statement等都是有接口,有实现。 通过向DriverManager注册不同Driver来确定Connection,Statement的类型
46 0
|
10月前
|
缓存 druid Java
JDBC2.0
JDBC2.0在1.0版本java.sql.*上增加了一个扩展包javax.sql.*包,这个包里面包含两个接口: 1.DataSource,数据源。 2.ConnectionPoolDataSource,数据池。 DataSource的源码可以看到,这个接口的作用就是拿来获取connection连接的。 各个数据库厂商只负责实现connection, 至于获取connection,在JDBC1.0里面是由DriverManager来负责的。 JDBC2.0版本之所新增DataSource,原因很简单——数据库连接池。1.0版本时每用一次connection都需要重新new,而da
90 0
JDBC2.0
|
11月前
|
SQL Java 关系型数据库
JDBC介绍
JDBC介绍
84 0
|
SQL 安全 Java
33 JDBC实用详解
info 💡 概念:JDBC是java提供的一套用于操作数据库的接口API:java程序员只需要面向这套接口编程即可;
70 0
|
SQL druid Java