jdbc总结:五种连接方式

1.如果不同的数据库,我们的方法不同意,不利于程序管理

2.改进:规定一套接口范围,让不同的数据库厂商实现,在java程序种统计条用接口的方法即可。

数据库厂商调用java程序的标准接口,实现java程序的接口,接口就是java厂商指定的规范。

jar其实就是一个驱动

Jdbc的好处(示意图)

说明:Jdbc是java提供一套用于数据库操作的接口api,java程序员只需要面对这套接口编程即可。不同的数据库厂商,需要针对这套接口,提供不同实现。

jdbc api

jdbc Api 是一系列的接口,他统一和规范了应用程序与数据库的连接、执行sql语句,并得到返回结果各类操作,相关类和接口在java.sql 与javax.sql 包中。

把包引进来:

加入maven:

连接数据库:

1.注册驱动

Driver driver = new Dirver();

得到连接:

jdbc:mysql:// 规定好表示协议,通过jdbc的方式连接mysql

localhost 主机,可以是ip地址

3306 表示mysql监听的端口

hsp_db02连接到mysqldbms的哪个数据库

5mysql的连接本质就是前面学习的socket连接

String url ="jdbc:mysql://localhost:3306/xxx?

将对象

interface Statement

用于执行静态sql语句并返回生成的结果的对象

Statement statement  = connect.createStatement();

statement.executeUpdate(sql);

int rows = statement.executeUpdate(sql); //如果是dml语句,返回的就是影响行数。

DML(Data Manipulation Language,数据操作语言)是用于操作数据库中数据的 SQL 语句类型。DML 语句主要用于对数据库中的记录进行增、删、改、查的操作,它们不影响数据库的结构(如表或索引),而是用于对表中的数据进行操作。

  • DDL(Data Definition Language,数据定义语言):用于定义和管理数据库结构,如创建、修改、删除表或索引(CREATEALTERDROP 等)。
  • DCL(Data Control Language,数据控制语言):用于控制数据库访问权限(GRANTREVOKE 等)。
  • TCL(Transaction Control Language,事务控制语言):用于控制事务的处理(COMMITROLLBACKSAVEPOINT 等)。

连接方式1:会直接使用:com.mql.jdbc.Driver(),属于安静加载,灵活性差,依赖强

 Driver driver = new Driver();

String url ="jdbc:mysql://localhost:3306/jdbc_db";

Properties info = new Porperties();

info.setProperty("user","root");

info.setProperty("password","hsp");

Connection con = new driver.conect(url,info);

System.out.println(conn);

推荐使用:

@Test
public void jdbcTest4() throws ClassNotFoundException, SQLException {
    //使用反射加载了Driver 类
    //在加载Driver类,完成注册
  //mysql驱动5.1.6可以无需Class.forName(xxxx);
  //从jdk1.5 以后使用jdbc4,不需要现实调用class.forName()注册驱动而是自动调用驱动,jar包下META-INF\services\java.sql.Driver
    Class.forName("com.mysql.jdbc.Driver");
    String url = "jdbc:mysql://localhost:3306/atguigudb";
    String user = "root";
    String passwd = "root";
    Connection connection = DriverManager.getConnection(url, user, passwd);
    System.out.println("第四种方式" + connection);
}

方式2:

Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) aClass.newInstance();

String url = "jdbc:mysql://localhost:3306/atguigudb";
Properties properties = new Properties();
properties.setProperty("user","root");
properties.setProperty("password","root");
Connection connect = driver.connect(url, properties);
System.out.println("方式二:" + connect);

方式五:

Properties properties = new Properties();
properties.load(new FileInputStream("src/mysql.properties"));
//获取相关值
String user = properties.getProperty("user");
String password = properties.getProperty("password");
String driver = properties.getProperty("driver");
String url = properties.getProperty("url");
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);

user=root
password=root
url=jdbc:mysql://localhost:3306/atguigudb
driver=com.mysql.jdbc.Dri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值