JDBC第一天学习~mysql基础

目录

 

JDBC(java DataBase Connectivity,java连接数据库)

一、概述:

二、获取数据库连接对象Connection:

     ✿ 为什么Class.forName(“com.mysql.jdbc.Driver”); 一行代码就可以完成加载、注册驱动操作?

❀2,操作JDBC的步骤:【口诀:贾琏欲执事】

3、jdbc操作的API: [贾琏欲执事]


JDBC(java DataBase Connectivity,java连接数据库

一、概述:

1,持久化(persistence):将数据保存到可掉电式存储设备中以供之后使用。

2,java中,数据库的存取技术,只能通过jdbc访问数据库。

3,JDBC:执行SQL语句的java API,JDBC 本身是java连接数据库的一个标准,是进行数据库连接的抽象层,由java编写的一组类和接口组成,接口的实现由各个数据库厂商来完成。

● 注意:开发中(编写的java代码)使用到的关于JDBC的接口全部引入的是java.sql包中的

千万不要引入com.mysql.Xxx 类。

  • 开发常放错误:忘记导入数据库驱动包; 引入的接口不小心引入到com.mysql.Xxx 类;应该是 java.sql.Xxx类

❀ 开发中需要的jar包,到maven仓库中下载:https://mvnrepository.com/

  • 下载:mysql-connector的jar包

二、获取数据库连接对象Connection:

准备工作:

拷贝MySQL的驱动包到项目中lib目录下;

build path:告诉项目去哪里找字节码文件;

1、讲解:操作JDBC 的第一步:获取JDBC的连接对象(Connection) 贾琏”:
       1):载注册驱动:

Class.forName(“com.mysql.jdbc.Driver”);

     ✿ 为什么Class.forName(“com.mysql.jdbc.Driver”); 一行代码就可以完成加载、注册驱动操作?

     ① Class.forName(); 会把com.mysql.jdbc.Driver 这份字节码加载进JVM

     ② 当一份字节码别加载进JVM时,就会执行该字节码中的静态代码块,在该静态代码块中有:   java.sql.DriverManager.registerDriver(new Driver());

       2):获取接:通过DriverManger类的getConnection方法来获取连接对象。

Connection conn = DriverManger.getConnection(url,username, password);

  url:连接数据库的URL

jdbc:mysql://localhost:3306/数据库名称(Mysql8之前的)

      □ 若是连接的是本机的MySQL,并且端口是默认的3306,则可以简写:jdbc:mysql:///数据库名

jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8

             username:数据库的用户名:root

             password:数据库用户的密码:admin

检测我们获取了数据库的连接:使用MySQL命令:show processlist;

  • bug: JDBC连接MySQL时发出的警告WARN: Establishing SSL connection without server's identity verification ...
  • 解决:给url路径加上参数:useSSL=false

❀2,操作JDBC的步骤:【口诀:贾琏欲执事】

                  1):加载注册驱动

                  2):获取连接对象

                  3):创建语句对象

                  4):执行SQL语句

                  5):释放资源

3、jdbc操作的API: [贾琏欲执事]

java中写查询操作时,要先分析结果集有什么数据类型,才知道怎么获取数据的格式来获取当前行的数据

  • mysql与java数据类型的对应:
  • varchar-> String
  • text ->String
  • bigInt -> long
  • int -> int
  • decimal-> java.math.BigDecimal
  • date -> java.sql.Date
  • datatime -> java.sql.Date
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟庭大师兄

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值