JDBC快速入门

文章目录


给宝宝们一个建议, JSP别学啦, 我给你们分享一下我学习的路程吧!! (重点)指的是需要彻底理解,不仅仅是会用
Java基础(都是重点, 但反射和IO最重要),前端基础(HCJ三者) Socket, Servlet(重点)+Tomcat, Mysql数据库 【到这里,基本方面已经OK,开始学习web框架】

Spring(重点), SpringMVC(JDBC看你学不学咯), MyBatis, SpringBoot, 前端的: Jquery, Vue(一定要学) 【到这里你已经可以做出自己的网站了,可以学习其它框架】

Linux(重点,命令熟能生巧), Docker, Es7, FastDFS, Git, MQ(推荐学习RabbitMQ和Kafka), Nginx, Redis,Zookeeper, SpringCloud
也不能忘记了基础以及进阶JVM, JUC, WebSocket, Netty 【到这里已经可以自信一点面试了,前提是你理解了并且能表达出来,然后学习大数据方面】

Hadoop全家桶, Kafka, Flink, Spark, K8S
我现在正在学习Flink, 发现感觉自己是弱鸡, 兴趣最重要, 是学完的必要条件. 目标也最重要, 是提升个人高度天花板的必要条件, 表达和展示能力很重要, 要不没人知道你会

一、概念

JDBC(Java DataBase Connectivity),Java数据库连接,Java语言操作数据库
本质:是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。然后各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们学者可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

二、快速入门

	步骤:
    	1. 导入驱动jar包   mysql-connector-java-8.0.19 
    	2. 注册驱动
    	3. 获取数据库连接对象Connection
    	4. 定义sql语句
    	5. 获取执行sql语句的对象Statement,因为connection不能直接执行
    	6. 执行sql,接收返回结果
    	7. 处理结果
    	8. 释放资源(以免造成内存泄漏)
    	9. 代码如下:
package com.jdbc;

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

public class JdbcDemo1 {
    public static void main(String[] args) throws Exception {
        //1.导入jar包
        //2. 注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //3.获取数据库连接对象                            //localhost:3306为ip地址 /db3为选中的数据库名
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1?serverTimezone=GMT","root","root");
        //4.定义SQL语句     
        String sql= "update account set balance=500 where id=1";
        //5.获取执行sql的对象 Statement
        Statement statement = conn.createStatement();
        //6.执行SQL语句
        int count = statement.executeUpdate(sql);
        //7.处理结果
        System.out.println(count);
        //8.释放资源
        statement.close();
        conn.close();

    }

}

三、详解各个对象

  1. DriverManager:驱动管理对象
    * 功能为:
    1、注册驱动
    static void registerDriver(Driver driver):注册给定的驱动程序DriverManager
    然后代码使用只有这一句话:Class.forName(“com.mysql.jc.jdbc.Driver”);(注意mysql5之后的驱动jar包可以省略不写)
    通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块
 		static{
			try{
				java.sql.DriverManage.registerDriver(new Driver());
			}catch{
				throw new RuntimeException("Can't register driver!"); 
			}
		}

   2、获取数据库连接
  方法:static Connection getConnection(String url, String user, String password)
  url(参数):指定连接的路径,其语法为jdbc:mysql://ip地址(域名):端口号/数据库名称?serverTimezone=GMT

  1. Connection:数据库连接对象
    * 功能为:
    1、获取执行sql的对象
    Statement createStatement()  /  preparedStatement prepareStatement(String sql)
    2.管理事务:
     开启事务:setAutoCommit(boolean autocommit)  该方法的参数设置为false即开启事务
     提交事务:commit()
     回滚事务:rollback()

  2. Statement:执行sql的对象(执行静态的SQL语句,就是sql里面参数值是已知给出的)
    * 功能为:
    1、执行sql
     boolean execute(String sql) 可以执行任意的sql语句
     int executeUpdate(String sql) 执行DML语句(操作表里的数据insert、update、delete)、DDL语句(操作数   据库和表 create、alter、drop)
     ResultSet executeQuery(String sql) 执行DQL语句(对表中的数据进行select)

  3. ResultSet:结果集对象
    1、boolean next():游标向下移动一行,判断当前航是否是最后一行末尾,如果是,则返回false;不是返回true
    2、getString(1) / getInt(1) / getDouble(“id”):参数“1”表示第一列,参数“id”表示列名id

  4. PreparedStatement:执行sql的对象(执行动态的SQL语句)

四、抽取JDBC工具类:JdbcUtils(简化书写)

上一篇:渡一教育_Java每日一练:建立Statement的作用是什么、前端Console.log( Boolean(‘‘))输出的是什么、如果希望1监听TCP端口为9000,服务端应该怎样创建socket


下一篇:java使用存储过程