首页 > 其他分享 >JDBC

JDBC

时间:2024-03-19 14:12:21浏览次数:17  
标签:JDBC String resultset connection statement sql var

JDBC

步骤:

  • 注册驱动【依赖的jar包 进行安装】

  • 获取连接【connection建立连接】

  • 创建发送sql语句对象【statement 创建发送sql语句的statement】

  • 发送sql语句,并获取返回结果【statement发送sql语句到数据库 并且取得返回结构】

  • 结果集解析【将result结果解析出来】

  • 资源关闭【释放resultset、statement、connection】

代码实现
public class JdbcBasePart {

    public static void main(String[] args) throws SQLException {

        //1.注册驱动
        /**
         * TODO: 注意
         *   Driver -> com.mysql.cj.jdbc.Driver
         */
        DriverManager.registerDriver(new Driver());

        //2.获取连接
        /**
         * TODO: 注意
         *   面向接口编程
         *   java.sql 接口 = 实现类
         *   connection 使用java.sql.Connection接口接收
         */
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/atguigu",
                "root",
                "root");

        //3.创建小车
        Statement statement = connection.createStatement();

        //4.发送SQL语句
        String sql = "select id,account,password,nickname from t_user ;";
        ResultSet resultSet =  statement.executeQuery(sql);

        //5.结果集解析
        while (resultSet.next()){
            int id = resultSet.getInt("id");
            String account = resultSet.getString("account");
            String password = resultSet.getString("password");
            String nickname = resultSet.getString("nickname");
            System.out.println(id+"::"+account+"::"+password+"::"+nickname);
        }

        //6.关闭资源  【先开后关】
        resultSet.close();
        statement.close();
        connection.close();

    }

}
实例
package com.ate.api.statement;

import com.mysql.cj.jdbc.Driver;

import java.sql.*;
import java.util.StringJoiner;

/*
 * Description: 利用jdbc技术,完成用户数据查询工作
 *
 * TODO: 步骤总结 (6步)
 *    1. 注册驱动
 *    2. 获取连接:
 *      java连接数据库肯定是调用某个方法,方法也需要填入数据库的基本信息:
 *       数据库ip地址:127.0.0.1
 *       数据库端口号:3306
 *       账号:root
 *       密码:0128
 *       连接数据库的名称:ate-JDBC
 *    3. 创建statement
 *    4. 发送SQL语句,并获取结果
 *    5. 结果集解析
 *    6. 关闭资源
 */

public class statementqury {

    public static void  main(String[] args) throws SQLException {
       //1.注册驱动:Driver(驱动)Manager
        //导入依赖:8+版本的驱动要带cj
        //在编写java代码时,如果不对异常(即有红书波浪线的地方)进行处理,程序将无法运行。
        //抛出异常:光标点在有红色波浪线的异常处,alt+enter
        DriverManager.registerDriver(new Driver());

       //2.获取连接:connection
        /*
 *      java连接数据库肯定是调用某个方法,方法也需要填入数据库的基本信息:
 *       数据库ip地址:127.0.0.1
                *       数据库端口号:3306
                *       账号:root
                *       密码:0128
                *       连接数据库的名称:ate-JDBC
         */
        /*
        DriverManager.getConnection的参数
        参数1 url:
            jdbc:数据库厂商名://ip地址:port/数据库名
            jdbc:mysql://127.0.0.1:3306/ate-JDBC
         */
        //java.sql 接口=实现类
        //
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/atguigu","root","0128");

        //3.创建statement(小车)
        Statement statement = connection.createStatement();
        //发送sql,获取返回结果
        String sql = "select * from t_user;";
        ResultSet resultset = statement.executeQuery(sql);
        //5进行结果集解析
        //看看有没有下一行数据,有就可以获取
        while (resultset.next()){
            //使用var 定义变量的语法: var 变量名 = 初始值;
            /*
var是什么:
var不是关键字,它相当于是一种动态类型;
var动态类型是编译器根据变量所赋的值来推断类型;
var 没有改变Java的本质,var只是一种简便的写法,
就是说在定义局部变量时,任意什么类型都可以用var定义变量的类型会根据所赋的值来判断。
如何使用var:resultset.getString()后面加.var,再按两下回车
             */
            int id = resultset.getInt("id");//get后面加调用的列的类型
            String account = resultset.getString("account");
            String password = resultset.getString("password");
            String nickname = resultset.getString("nickname");
            //输出列的结果
            System.out.println(id+"--"+account+"--"+password+"--"+nickname);
        }
        //关闭资源【先打开的后关】
        //打开顺序:connection-statement-resultset
        //关闭顺序:resutset-statement-connection
        resultset.close();
        statement.close();
        connection.close();
    }
}

标签:JDBC,String,resultset,connection,statement,sql,var
From: https://www.cnblogs.com/pine1203/p/18082697

相关文章

  • 使用JDBC查询数据库会一次性加载所有数据吗
    前几天有个小伙伴说他有个疑问:当我们发起一个查询的时候,数据库服务器是把所有结果集都准备好,然后一次性返回给应用程序服务吗(因为他们生产有个服务因为一个报表查询搞宕机了)。这样想的原因很简单,假设那个报表查询出来有几百万数据,然后一次性倾泻给应用程序了,应用没那么大内存空......
  • JDBC的执行流程!!!
    JBDC的底层主要是三个接口对象,Connection、Statement、ResultSet。Connection用于建立与数据库的连接,Statement用于向数据库发送sql语句,ResultSet用于封装sql查询语句的结果。原始的JDBC操作数据库主要有以下几个步骤:1.注册驱动使用Class.forName()方法加载数据库驱动......
  • sharding-jdbc原理
    分片流程一、sql解析从3.0.x版本开始,ShardingSphere统一将SQL解析器换成了基于antlr4实现,目的是为了更方便、更完整的支持SQL,例如对于复杂的表达式、递归、子查询等语句,因为后期ShardingSphere的定位已不仅仅是数据分片功能。抽象语法树根据不同数据库方言所提供的字......
  • ojdbc8.jar下载
    由于oracle的版权问题,java连接oracle的jar(ojdbc.jar)在maven的中央仓库下载不到。1.手动下载jar包ojdbc8.jar官网下载地址:https://www.oracle.com/database/technologies/jdbc-ucp-122-downloads.html2.以管理员身份打开cmd并切换到ojdbc8.jar目录下(或者直接找到此目录,输入cm......
  • 一文学会JDBC实现java和mySQL的数据连接(尚硅谷学习课程代码+笔记+思路总结)
    JDBC是指数据库连接技术,用于java连接mySQL等数据库。本文详细介绍了尚硅谷课程中JDBC的学习内容和补充知识。概述java语言只提供规范接口,存在于java.sql.javax.sql包下,然后数据库软件根据java提供的规范实现具体的驱动代码(jar)jar包是java程序打成的一种压缩包格式,只要导入就......
  • spring 简单的使用 Hikari连接池 和 jdbc连接mysql 的一个简单例子
    pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ma......
  • 【Spring】jdbc
     动态数据源切换:https://www.jianshu.com/p/a042ff2ee2ae实现数据源切换的功能就是自定义一个类扩展AbstractRoutingDataSource抽象类,其实该相当于数据源DataSourcer的路由中介,可以实现在项目运行时根据相应key值切换到对应的数据源DataSource上。publicabstractclassAbs......
  • Sharding-JDBC源码解析与vivo的定制开发
    作者:vivoIT平台团队-XiongHuanxinSharding-JDBC是在JDBC层提供服务的数据库中间件,在分库分表场景具有广泛应用。本文对Sharding-JDBC的解析、路由、改写、执行、归并五大核心引擎进行了源码解析,并结合业务实践经验,总结了使用Sharding-JDBC的一些痛点问题并分享了对应的定......
  • JDBC工具类封装v2.0
    JDBC工具类封装v2.01packagecom.atsyc.api.utils;23/*4*TODO:5*利用线程本地变量,存储连接信息,确保一个线程的多个方法可以获取同一个connection6*优势:事务操作的时候service和dao属于同一个线程,不用再传递参数了7*大家都可以调......
  • JDBC工具类封装v1.0
    JDBC工具类封装1.0版1privatestaticDataSourcedataSource=null;//连接池对象23static{4//初始化连接池对象5Propertiesproperties=newProperties();6InputStreamips=JdbcUtils.class.getClassLoader().getResour......