JDBC连接(Java链接数据库)

5 篇文章 0 订阅
1 篇文章 0 订阅

1.JDBC概念以及本质

*   概念:Java DataBase Connectivity,Java数据库连接,Java语言操作数据库
*   本质:官方定义了一套操作关系型数据库的规则,即接口,各个数据库厂商去实现这套接口,提供数据库驱动的jar包,我们可以使用这套接口编程,真正执行的代码是驱动jar包的实现类。

2.JDBC的快速入门步骤

1.导入jar包(文章末尾有链接)

		* 复制jar包到工程目录下
		* 右键点击工程,进行Add as Library

2.注册驱动

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

3.获取数据库连接对象 Connection

	Connection connection = DriverManager.getConnection("url","数据库用户名","数据库密码");
	注意:如果遇到时区问题,在url后面加上?serverTimezone=UTC

4.定义SQL语句

	String sql = "update stu set address = '河南' where id = 4";
	SQL语句可以写增删改查语句

5.获取执行SQL的对象Statement

	Statement statement = connection.createStatement();

6.执行SQL语句

	boolean execute = statement.execute(sql);
	可以返回Boolean类型,也可以返回int类型

7.处理返回的结果

	System.out.println(execute);
	打印结果,这个结果不重要,重要的是数据库中的数据是否改变

8.释放资源

 	statement.close();
    connection.close();

3.详解代码中各个对象

1.DriverManager:驱动管理对象

	* 功能
		1.注册驱动:告诉程序该使用哪一个数据库驱动jar包
		2.获取数据库连接:
			* 方法:getConnection(String url, String user, String password)
			* 参数:
				*  url:指定连接的路径(mysql,其他数据库存在差异)
					* 语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
					* 例子:jdbc:mysql://localhost:3306/mydb1
				*  user:数据库用户名
				*  password:数据库密码

2.Connection:数据库连接对象

	* 功能
		1. 获取执行SQL的对象
			 * Statement createStatement() 
			 * PreparedStatement prepareStatement(String sql) 
		2.管理事务:
			* 开启事务:setAutoCommit(boolean autoCommit) :设置该方法参数为false,即开启事务
			* 提交事务:commit() 
			* 回滚事务:rollback() 

3.Statement:执行SQL对象

	1.执行SQL
		 1. boolean execute(String sql) :执行给定的 SQL 语句,该语句可能返回多个结果。(了解)
		 2. int executeUpdate(String sql) :执行DML语句或DDL语句
		 	* 返回值:影响的行数 ,可以通过这个影响的行数来判断DML语句是否执行成功,返回值>0则成功,反之则失败
		 3. ResultSet executeQuery(String sql) :执行DQL语句,

4.ResultSet:结果集对象(执行DQL语句中出现)封装查询结果
在这里插入图片描述

	1. 方法
		* next()方法:将光标从当前位置向前移一行。(最开始光标在表头行)如上图所示
		* getXxx(参数),获取数据
				* Xxx:代表数据类型   比如getInt,getString
				* 参数:
					1. int类型:代表列的编号,从1开始   如:getString(1),表示获取第1列
					2. String类型:代表列名称。  如:getInt("age"),表示获取age列(常用)
		* 注意:
			* 使用步骤
				1.游标向下移动一行
				2.判断是否有数据
				3.获取数据
		* 可以用while循环获取结果集
	2.实例语句
	//循环判断游标是否是最后一行
	while (resultSet.next()){
		//获取数据
	    int id = resultSet.getInt("id");
	    String name = resultSet.getString("name");
	    int age = resultSet.getInt("age");
	    String sex = resultSet.getString("sex");
	    String address = resultSet.getString("address");
	    System.out.println( id + "," + name + "," + age + "," + sex + "," + address );
        }

4.具体实例代码及结果演示

public static void main(String[] args) throws Exception {
        //1.加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.创建连接对象
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb1?serverTimezone=UTC","root","root");
        //3.创建SQL命令对象
        Statement statement = connection.createStatement();
        //4.获取结果集对象
        String sql = "select * from stu";
        ResultSet resultSet = statement.executeQuery(sql);
        //5.操作结果集
        while (resultSet.next()){
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            int age = resultSet.getInt("age");
            String sex = resultSet.getString("sex");
            String address = resultSet.getString("address");
            System.out.println( id + "," + name + "," + age + "," + sex + "," + address );
        }
        //6.释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }

结果展示
在这里插入图片描述
这就是用Java代码操作数据库,后期还会分享一些关于这类知识,希望大家多多关注!
mysql的jar包获取方式:
链接:https://pan.baidu.com/s/1jKst2LAUHz-Jhzh4RHPhnQ
提取码:vfmh

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值