首页 > 数据库 >JDBC链接MySQL day18

JDBC链接MySQL day18

时间:2024-08-18 16:38:10浏览次数:8  
标签:JDBC String mysql resultSet System MySQL println day18 out

package com.shujia.day18.ketang;


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

/*
    我们要想操作mysql数据库,jdk本身是无法操作的,因为java并不知道将来开发者需要使用java连接什么样的数据库,所以jdk本身只提供一系列接口
    要想使用java链接并操作mysql的话,需要找到mysql团队开发好的驱动包,包中具有实现了jdk接口的类的class文件
    需要找到这样一份驱动包,放在我们的项目中,这样我们就可以使用java语言操作mysql了。

JDBC编程6步:
    1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
    2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
    3.获取数据库操作对象(专门执行sql语句的对象)
    4.执行SQL语句(DQL,DML…)
    5.处理查询结果集 (只有当第四步执行的是select语句的时候,才有本步)
    6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)


 */
public class JDBCDemo1 {
    public static void main(String[] args) throws Exception {
        //1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
        Class.forName("com.mysql.jdbc.Driver");

        //2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
        /**
         *  url: 超链接,指定mysql服务器的地址
         *      jdbc:mysql://192.168.136.100:3306/car_db
         *  user: root
         *  password: 123456
         *
         */
        Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.136.100:3306/bigdata31?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "123456");

        //3.获取数据库操作对象(专门执行sql语句的对象)
        Statement state = conn.createStatement();

        //4.执行SQL语句(DQL,DML…)
        //executeQuery: 查询语句
        //executeUpdate: 增删改语句
//        int i = state.executeUpdate("insert into author values(1003,'陈真','中国')"); //返回的是受影响的行数
//        if(i==1){
//            System.out.println("数据添加成功!");
//        }else {
//            System.out.println("数据添加失败!");
//        }


        /*
            删除操作
         */
//        int i = state.executeUpdate("delete from author where id=1003");
//        if (i == 1) {
//            System.out.println("数据删除成功!");
//        } else {
//            System.out.println("数据删除失败!");
//        }

        /*
            修改操作
         */
//        int i = state.executeUpdate("update author set nation='俄罗斯' where id=1002");
//        if (i == 1) {
//            System.out.println("数据更新成功!");
//        } else {
//            System.out.println("数据更新失败!");
//        }

        /*
            查询操作
         */
        String sql = "SELECT\n" +
                "\tt1.empno AS eno,\n" +
                "\tt1.ename AS ename,\n" +
                "\tt1.hiredate AS edate,\n" +
                "\tt2.empno AS lno,\n" +
                "\tt2.ename AS lname,\n" +
                "\tt2.hiredate AS ldate \n" +
                "FROM\n" +
                "\temp t1\n" +
                "\tJOIN emp t2 ON ( t1.mgr = t2.empno ) \n" +
                "WHERE\n" +
                "\tt1.hiredate < t2.hiredate;\n";


        //返回的是一个结果集
        ResultSet resultSet = state.executeQuery(sql);
        //next()判断表中是否有多余的条数数据
        while (resultSet.next()){
            //取出每一条数据中的每一列
            //根据列名获取每一列的值
//            int eno = resultSet.getInt("eno");
//            String ename = resultSet.getString("ename");
//            String edate = resultSet.getString("edate");
//            int lno = resultSet.getInt("lno");
//            String lname = resultSet.getString("lname");
//            String ldate = resultSet.getString("ldate");
//            System.out.println(eno+","+ename+","+edate+","+lno+","+lname+","+ldate);


            //若不知道列名呢
            int eno = resultSet.getInt(1);
            String ename = resultSet.getString(2);
            String edate = resultSet.getString(3);
            int lno = resultSet.getInt(4);
            String lname = resultSet.getString(5);
            String ldate = resultSet.getString(6);
            System.out.println(eno+","+ename+","+edate+","+lno+","+lname+","+ldate);
        }


        //6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)
        state.close();
        conn.close();

    }
}

标签:JDBC,String,mysql,resultSet,System,MySQL,println,day18,out
From: https://www.cnblogs.com/qiwei-bigdata/p/18365773

相关文章

  • Java毕设源码-基于ssm框架的少儿编程网上报名系统+vue+毕业论文+mysql数据库
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求/流程分析3、系统功能结构三、系统实现展示1、管理员功能模块2、用户功能模块3、前台首页功能模块四、毕设内容和源代码获取总结逃逸的卡路里博主介绍:✌️码农一枚|毕设布道师,专注于......
  • Java毕设源码-ssm框架学院党员管理系统+jsp+vue+毕业论文+mysql数据库
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求/流程分析3、系统功能结构三、系统实现展示1、管理员功能实现1.1党员管理1.2支部管理1.3公告管理1.4党费管理1.5奖惩记录2、支部功能实现2.1基层单位2.2支部日志2.3支部荣誉3、党......
  • JavaSocket编程+JDBC实战技术
    一、JavaSocket编程1.1HTTP协议后端原理2.特点同步:就是两个任务执行的过程中,其中一个任务要等另一个任务完成某各阶段性工作才能继续执行,如厨师A炒番茄,将葱花放入锅中,然后需要放入番茄,但是厨师B还没有把番茄切好,厨师A就得等厨师A把番茄切好才能继续,期间处于等待状态。......
  • 基于Java+SpringBoot+Mysql实现的共享厨房平台功能设计与实现六
    一、前言介绍:1.1项目摘要随着城市化进程的加快和人们对生活品质要求的提升,共享经济模式在全球范围内迅速兴起。共享厨房平台作为共享经济的一种创新形式,旨在通过整合闲置的厨房资源,为用户提供一个便捷、经济且富有创意的烹饪空间。现代都市生活中,许多年轻人、创业者及小......
  • 基于Java+SpringBoot+Mysql实现的共享厨房平台功能设计与实现七
    一、前言介绍:1.1项目摘要随着城市化进程的加快和人们对生活品质要求的提升,共享经济模式在全球范围内迅速兴起。共享厨房平台作为共享经济的一种创新形式,旨在通过整合闲置的厨房资源,为用户提供一个便捷、经济且富有创意的烹饪空间。现代都市生活中,许多年轻人、创业者及小......
  • 基于Java+SpringBoot+Mysql实现的共享厨房平台功能设计与实现四
    一、前言介绍:1.1项目摘要随着城市化进程的加快和人们对生活品质要求的提升,共享经济模式在全球范围内迅速兴起。共享厨房平台作为共享经济的一种创新形式,旨在通过整合闲置的厨房资源,为用户提供一个便捷、经济且富有创意的烹饪空间。现代都市生活中,许多年轻人、创业者及小......
  • 基于Java+SpringBoot+Mysql实现的共享厨房平台功能设计与实现六
    一、前言介绍:1.1项目摘要随着城市化进程的加快和人们对生活品质要求的提升,共享经济模式在全球范围内迅速兴起。共享厨房平台作为共享经济的一种创新形式,旨在通过整合闲置的厨房资源,为用户提供一个便捷、经济且富有创意的烹饪空间。现代都市生活中,许多年轻人、创业者及小......
  • PHP—MySQL(PHP连接数据库)
    目录【学习目标、重难点知识】【学习目标】【重难点知识】二、PHP和MySQL的合作方式三、PHP连接数据库3.1、MySQLi拓展​编辑3.2、建立与数据库的连接(4)创建SQL语句(5)获取结果(6)获取查询结果行数(7)增删改(8)数据可视化。【学习目标、重难点知识】【学习目标】P......
  • MySQL 查询分组内最新的第一条数据
    目录1、MySQL5版本的写法2、MySQL8版本的写法由于MySQL5不支持窗口函数,因此不能使用PARTITION()、ROW_NUMBER()......
  • MySQL 数据类型详解
    MySQL是一种广泛使用的关系型数据库管理系统,它支持多种数据类型以满足各种应用场景的需求。本文将详细介绍MySQL支持的数据类型、它们的使用场景以及实现原理,并通过图示帮助读者更直观地理解。目录简介数值类型整型浮点型定点型日期和时间类型字符串类型字符串二进制字......