JDBC的使用

JDBC的使用

1.什么是JDBC

JDBC的全称为 java database connectivity ,简单来说就是用java代码来连接数据库的,不仅如此,还可以对数据库中的数据进行增删改查.

JDBC是java的一种规范,本来Java和数据库是没有联系的两个行业,但是在行业的竞争下,Java进而可以连接数据库. 但是在java中是没有加载数据库的驱动的, 也就是说,我们连接数据库是需要去下载这个驱动的,然后导入lib包下(lib包是个jar包,用于导入一些Java中没有的一些东西,如类等等).

lib包建议放在src包下,即在src包下创建即可.

2.准备jar包

在 网址搜索栏中输入 mvnrepository, 进入https://mvnrepository.com/这个网址,在搜索框中输入mysql, 在这里可以使用5.1.47版本 , 点击jar 即可下载.

3.导包

1.在src下创建一个文件夹lib

2.把下载好的jar包赋值到lib文件夹下面

3.鼠标点击jar包,然后鼠标右击 add as Library ,完成导包

4.连接数据库

package com.qf.a_mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
下面是连接数据库的操作
*/

   public class Demo1 {
   public static void main(String[] args) throws ClassNotFoundException, SQLException {
       //1.加载mysql的驱动
       //Driver驱动是mysql厂商提供的
       Class.forName("com.mysql.jdbc.Driver");
       //连接数据库的时候需要跑哪些东西
       //主机: 是一个url   jdbc:mysql://localhost:3306/java2304
       //用户名: root
       //密码:  123456
       //2.准备连接数据库的一些参数
       String url = "jdbc:mysql://localhost:3306/java2304?useSSL=false";
       String user = "root";
       String password = "123456";

       //static Connection	getConnection(String url, String user, String password)
       //3.尝试建立与给定数据库URL的连接。
       
       Connection connection = DriverManager.getConnection(url, user, password);
       System.out.println(connection);
       //Connection 与特定数据库的连接(会话) 执行SQL语句并在连接的上下文中返回结果
       //4.关闭连接的资源
       connection.close();

   }
   }

5 对数据库进行增删改查

5.1对数据库中的表进行添加操作
package com.qf.b_mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 对数据库中的表进行添加操作
   */
   public class Demo1 {
   public static void main(String[] args) throws ClassNotFoundException, SQLException {
       //1.加载驱动
       Class.forName("com.mysql.jdbc.Driver");
       //2.准备连接数据库的参数
       String url = "jdbc:mysql://localhost:3306/java2304?useSSL=false";
       String user = "root";
       String password = "123456";
       //3.获取连接数据库的对象
       Connection connection = DriverManager.getConnection(url, user, password);
       //代码走到这一步,代码没有报错,就证明连接数据库已经成功
       //Statement	createStatement()
       //创建一个 Statement对象,用于将SQL语句发送到数据库。去执行
       //4.创建搬运工对象 Statement对象  将SQL语句发送到数据库。去执行
       Statement statement = connection.createStatement();

       //5.写sql语句
       String sql = "insert into work(name, age, info) values('张三', 89, '爱看书')";
       
       //6.使用statement对象去执行sql语
       //int	executeUpdate(String sql)
       //执行给定的SQL语句,这可能是 INSERT , UPDATE ,或 DELETE语句,
       // 或者不返回任何内容,如SQL DDL语句的SQL语句。
       int i = statement.executeUpdate(sql);
       System.out.println(i);
       //7.关闭资源
       statement.close();
       connection.close();


    }

}
5.2对数据库中表的数据进行删除
package com.qf.b_mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/**
对数据库中表的数据进行删除

   */
   public class Demo3 {
   public static void main(String[] args) throws Exception{
       //删除一条数据
       Class.forName("com.mysql.jdbc.Driver");
       String url = "jdbc:mysql://localhost:3306/java2304?useSSL=false";
       String user = "root";
       String password = "123456";
       Connection connection = DriverManager.getConnection(url, user, password);
       Statement statement = connection.createStatement();
       String sql= "delete from work where id = 1";
       int i = statement.executeUpdate(sql);
       System.out.println(i);
       statement.close();
       connection.close();
   }
   }
5.3对数据库中表的数据进行修改的操作
package com.qf.b_mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
对数据库中表的数据进行修改的操作
 
   */
   public class Demo2 {
   public static void main(String[] args) throws ClassNotFoundException, SQLException {
       //修改一条数据
       Class.forName("com.mysql.jdbc.Driver");
       String url = "jdbc:mysql://localhost:3306/java2304?useSSL=false";
       String user = "root";
       String password = "123456";
       Connection connection = DriverManager.getConnection(url, user, password);
       Statement statement = connection.createStatement();
       String sql= "update work set name='张飞', info='骚的一批' where id = 1";
       int i = statement.executeUpdate(sql);
       System.out.println(i);
       statement.close();
       connection.close();
   }
   }
5.4查询数据库中所有的数据
```Java
package com.qf.c_mysql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
查询数据库中所有的数据

   */
   public class Demo1 {
   public static void main(String[] args) throws Exception{
       Class.forName("com.mysql.jdbc.Driver");
       String url = "jdbc:mysql://localhost:3306/java2304?useSSL=false";
       String user = "root";
       String password = "123456";
       Connection connection = DriverManager.getConnection(url, user, password);
       Statement statement = connection.createStatement();
       String sql = "select * from work";
       //ResultSet	executeQuery(String sql)
       //执行给定的SQL语句,该语句返回单个 ResultSet对象。  结果集
       ResultSet resultSet = statement.executeQuery(sql);
       //一个ResultSet对象,其中包含给定查询产生的数据  就是数据库中的数据
       //表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
       System.out.println(resultSet);
       /*
       resultSet
         id  name  age  info         《=======
         2   张三   89   大事年表       =====
         3   李四   78  傲上矜下
         4   扫描    78  你撒解决
        */
       //ResultSet对象保持一个光标指向其当前的数据行。
       // 最初,光标位于第一行之前。 next方法将光标移动到下一行,
       // 并且由于在ResultSet对象中没有更多行时返回false ,
       // 因此可以在while循环中使用循环来遍历结果集。
       while (resultSet.next()) {
           //通过字段的值获取当前字段的数据
           //int id = resultSet.getInt("id");
           int id = resultSet.getInt(1);
           String name = resultSet.getString("name");
           int age = resultSet.getInt("age");
           String info = resultSet.getString("info");
           System.out.println(id + ":" + name + ":" + age + ":" + info);
       }
       resultSet.close();
       statement.close();
       connection.close();

   }
   }
         String info = resultSet.getString("info");
           System.out.println(id + ":" + name + ":" + age + ":" + info);
       }
       resultSet.close();
       statement.close();
       connection.close();

   }
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值