java与数据库的连接


前言

随着我们对java和数据库的深入学习,java与数据库连接也让很多小伙伴感到头疼,而本文就介绍了利用JDBC中的基础API建立java与数据库的连接。


一、mysql-connector-java

要像让我们的java项目连接到我们的数据库,我们需要先下载一个jar包,而mysql-connector-java就是我们连接数据库所需要的jar包,mysql-connector-java共分为5和8的版本。
mysql-connector-java的下载路径如下:https://dev.mysql.com/downloads/connector/j/

二、使用步骤

1.mysql-connector-java-5

该版本支持5.6、5.7、8.0版本的mysql数据库,支持3.0、4.0、4.1、4.2版本的jdbc,在使用该版本时Driver类的实现路径是
com.mysql.jdbc.Drive。

2.mysql-connector-java-8

支持5.6、5.7、8.0版本的mysql数据库,支持4.2版本的jdbc,在使用该版本时的Driver类的实现路径是com.mysql.cj.jdbc.Drive。


三、mysql-connector-java的使用

首先,我们要创建一个空项目,之后我们在src目录下创建一个名为lib的Directory文件

请添加图片描述
然后,我们将我们的mysql-connector-java包复制到lib文件内请添加图片描述
复制完后,我们需要做的就是启动这个jar包
请添加图片描述
如果我们的jar包变为可展开模式的话就说明我们jar包启动成功了请添加图片描述

代码的实现

//1.注册驱动

//注册驱动时,我一般使用反射触发的方案
//如果你用的jar包是5版本的话,这里的cj也就不用加上了,也就是"com.mysql.jdbc.Driver"
Class.forName("com.mysql.cj.jdbc.Driver");

//2.获取连接

Connection connecti = DriverMapper.getConnection();
//getConnection()方法共有三种,分别是有一个参数url、有两个参数url和info,最后一个是有三个参数url、user和password
//一个参数:String url 的格式: "jdbc:mysql://127.0.0.1:3306/数据库名?user=账号&password=密码"
//两个参数:String url的格式:"jdbc:mysql://127.0.0.1:3306/数据库名",而Properti info也就是将user和password封装进一个对象
//三个参数:String url的格式:"jdbc:mysql://127.0.0.1:3306/数据库名",String user是你的数据库账户名,String password是你的数据库密码

//3.创建statement

//这一步有两种方案,一种是静态方案,另一种是预编译的方案,这里我们使用预编译的方案
PreparedStatement preparedstatement = connection.preparedStatement(sql语句结构);
//这里的sql语句结构就是你要对数据库的操作,例如"select * from 数据库名"

//4.占位符赋值

//对你sql语句中的占位符?进行赋值操作
preparedstatement.setObject(?的位置 从左到右 从1开始,);


//5.发生SQL语句

//我们发送的sql语句分为DQL和非DQL是有不同的发送方法的
int rows = executeUpdate();//非DQL
Result result = executeQuery();//DQL

//6.查询结果的解析

if(result.next())while(result.next())
//因为result返回的结果的光标是停在数据的前一行的,所以我们要使用next()方法使光标下移,这里的判断就是判断光标下移是否
//还有数据,如果有,返回true,没有则返回false

//获取列的数据即可
get类型(int 列的下角标 从1开始);
//获取列的信息
getMetadata();  ResultsetMetaData对象包含的就是列的信息

//7.关闭资源

//调用对应的close()方法即可

举例

在这里插入代码片@Test
public void testDelete() throws ClassNotFoundException, SQLException {

//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");

//2.获取连接
Connection connection = DriverManager.getConnection("jdbc:mysql:///atguigu", "root", "123456");

//3.编写SQL语句结果,动态值的部分使用?代替
String sql = "delete from t_user where id=?";

//4.创建prepareStatement,并且传入SQL语句的结果
PreparedStatement preparedStatement = connection.prepareStatement(sql);

//5.占位符赋值
preparedStatement.setObject(1,3);

//6.发送SQL语句
int rows = preparedStatement.executeUpdate();

//7.输出结果
if (rows > 0){

System.out.println("删除成功!!");
}else {

System.out.println("删除失败!!");
}

//8.关闭资源
preparedStatement.close();
connection.close();
}

其对应的输出结果为:删除成功!!

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Java数据库连接的几个步骤如下: 1. 加载驱动程序:在使用 JDBC 连接数据库之前,需要加载合适的数据库驱动程序。一般情况下,我们可以使用 Class.forName() 方法来加载驱动程序。 ```java Class.forName("com.mysql.jdbc.Driver"); ``` 2. 建立连接:使用 DriverManager 类的 getConnection() 方法来建立与数据库连接,需要指定数据库的 URL、用户名和密码。 ```java String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password); ``` 3. 创建 Statement 对象:在与数据库进行交互之前,我们需要创建一个 Statement 对象,可以通过 Connection 对象的 createStatement() 方法来创建。 ```java Statement stmt = conn.createStatement(); ``` 4. 执行 SQL 语句:可以使用 Statement 对象的 executeUpdate() 方法来执行 SQL 语句,例如插入、更新和删除数据等操作;也可以使用 executeQuery() 方法来执行查询操作。 ```java String sql = "select * from user"; ResultSet rs = stmt.executeQuery(sql); ``` 5. 处理结果集:当使用 executeQuery() 方法执行查询操作时,会返回一个 ResultSet 对象,可以使用 ResultSet 对象的 getXXX() 方法来获取查询结果。 ```java while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("id: " + id + ", name: " + name + ", age: " + age); } ``` 6. 关闭连接:在使用完数据库之后,需要关闭与数据库连接,可以通过 Connection 对象的 close() 方法来关闭连接。 ```java conn.close(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值