首页 > 数据库 >实验五 通用接口数据库编程

实验五 通用接口数据库编程

时间:2023-05-09 23:45:13浏览次数:44  
标签:stat String rs 数据库 编程 接口 null root conn

实验五 通用接口数据库编程

第1关:JDBC 查询数据

package step1;

import java.sql.\*;

publicclass Query {

 publicstaticvoid queryDB(){

 // 声明变量

 Connection conn = null;

 Statement stat = null;

 ResultSet rs = null;/\*\*\*\*\*\*\*\*\* 查询出的数据保存在这个结果集里 \*\*\*\*\*\*\*\*\*/

    // "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)

    /\*\*\*\*\*\*\*\*\* 教室机密码是root,用户名(root) \*\*\*\*\*\*\*\*\*/

    String username ="root";

    String password ="123123";

    // 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8

    String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";

 try{

        /\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/

        // 1.加载驱动

        Class.forName("com.mysql.jdbc.Driver");

  // 2.建立数据库连接

  conn = DriverManager.getConnection(url, username, password);

        // 3.定义sql

        String sql ="SELECT \* FROM s";

  // 4.建立statement对象

  stat = conn.createStatement();

  // 5.查询数据,输出结果

  rs = stat.executeQuery(sql);

  // 输出结果

  System.out.println("sno\tsname\tstatus\tcity");

  while(rs.next()){

   System.out.println(rs.getString("sno")+"\t"+ rs.getString("sname")+"\t"+ rs.getInt ("status")+"\t"

     + rs.getString("city"));

  }

        /\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/

 }catch(SQLException e){

  e.printStackTrace();

 }catch(ClassNotFoundException e){

  e.printStackTrace();

 }finally{

  try{

            if(rs != null){

    rs.close();

   }

   if(stat != null){

    stat.close();

   }

   if(conn != null){

    conn.close();

   }

  }catch(Exception e){

   e.printStackTrace();

  }

 }

}

}

第2关:JDBC 插入数据

package step1;

import java.sql.\*;

publicclass Insert {

 publicstaticvoid insertDB(){

  // 声明变量

  Connection conn = null;

  Statement stat = null;

        // "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)

        String username ="root";

        String password ="123123";

        // 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8

        String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";

  try{

            /\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/

   // 1.加载驱动

            Class.forName("com.mysql.jdbc.Driver");

   // 2.建立数据库连接

            conn = DriverManager.getConnection(url, username, password);

   // 3.建立statement对象

            stat = conn.createStatement();

   // 4.定义SQL

            String sql ="INSERT INTO s(sno, sname, status, city) VALUES ('S6','泰鑫',10,'十堰')";

   // 5.执行SQL

            int result = stat.executeUpdate(sql);

            // 6.处理结果

            if(result ==1){

                System.out.println("插入成功!");

            }else{

                System.out.println("插入失败!");

            }

            /\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/

  }catch(SQLException e){

   e.printStackTrace();

  }catch(ClassNotFoundException e){

   e.printStackTrace();

  }finally{

   try{

    if(stat != null){

     stat.close();

    }

    if(conn != null){

     conn.close();

    }

   }catch(Exception e){

    e.printStackTrace();

   }

  }

 }

}

第3关:JDBC 更新数据

package step1;

import java.sql.\*;

publicclass Update {

    publicstaticvoid updateDB(){

        // 声明变量

        Connection conn = null;

        Statement stat = null;

        // "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)

        String username ="root";

        String password ="123123";

        // 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8

        String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";

        try{

            /\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/

            // 1.加载驱动

            Class.forName("com.mysql.jdbc.Driver");

            // 2.建立数据库连接

            conn = DriverManager.getConnection(url, username, password);

            // 3.定义SQL

            String sql ="UPDATE s SET sname = '东风', status = 40, city = '十堰' WHERE sno = 'S5'";

            // 4.建立statement对象

            stat = conn.createStatement();

            // 5.执行SQL

            int rows = stat.executeUpdate(sql);

            // 6.处理结果

            if(rows \>0){

                System.out.println("更新成功!");

            }else{

                System.out.println("更新失败!");

            }

            /\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/

        }catch(SQLException e){

            e.printStackTrace();

        }catch(ClassNotFoundException e){

            e.printStackTrace();

        }finally{

            try{

                if(stat != null){

                    stat.close();

                }

                if(conn != null){

                    conn.close();

                }

            }catch(Exception e){

                e.printStackTrace();

            }

        }

    }

}

第4关:JDBC 删除数据

 package step1;

import java.sql.\*;

publicclass Delete {

    publicstaticvoid deleteDB(){

        // 声明变量

        Connection conn = null;

        Statement stat = null;

        // "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)

        String username ="root";

        String password ="123123";

        // 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8

        String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";

        try{

            /\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/

            // 1. 加载驱动

            Class.forName("com.mysql.jdbc.Driver");

            // 2. 建立数据库连接

            conn = DriverManager.getConnection(url, username, password);

            // 3. 定义SQL

            String sql ="DELETE FROM s WHERE sno = 'S5'";

            // 4. 建立statement对象

            stat = conn.createStatement();

            // 5. 执行SQL

            int rows = stat.executeUpdate(sql);

            // 6. 处理结果

            if(rows \>0){

                System.out.println("删除成功!");

            }else{

                System.out.println("删除失败!");

            }

            /\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/

        }catch(SQLException e){

            e.printStackTrace();

        }catch(ClassNotFoundException e){

            e.printStackTrace();

        }finally{

            try{

                if(stat != null){

                    stat.close();

                }

                if(conn != null){

                    conn.close();

                }

            }catch(Exception e){

                e.printStackTrace();

            }

        }

    }

}

第5关:JDBC 条件查询

package step1;

import java.sql.\*;

import java.util.Scanner;

publicclass QuerySno {

    publicstaticvoid queryDB(){

        // 接收供应商编号

        Scanner scanner =new Scanner(System.in);

        String sno = scanner.next();

        // 声明变量

        Connection conn = null;

        PreparedStatement psmt = null;

        ResultSet rs = null;

        // "root"和"123123"是针对MySQL设置了用户名(root)和密码(123123)

        String username ="root";

        String password ="123123";

        // 127.0.0.1:3306是mysql服务器地址及端口 数据库编码格式设置为utf-8

        String url ="jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8";

        try{

            /\*\*\*\*\*\*\*\*\* Begin \*\*\*\*\*\*\*\*\*/

            // 1.加载驱动

            Class.forName("com.mysql.jdbc.Driver");

   // 2.建立数据库连接

            conn = DriverManager.getConnection(url, username, password);

   // 3.定义sql

            String sql ="SELECT \* FROM s WHERE sno = ?";

            /\*\*\*\*\*\*\*\*\* ?占位符 \*\*\*\*\*\*\*\*\*/

   // 4.建立PreparedStatement对象

            psmt = conn.prepareStatement(sql);

            /\*\*\*\*\*\*\*\*\* 预编译SQL语句 \*\*\*\*\*\*\*\*\*/

   // 5.注册PreparedStatement对象的参数

            psmt.setString(1, sno);

   // 6.查询数据,输出结果

            System.out.println("sno\tsname\tstatus\tcity");

   rs = psmt.executeQuery();

   while(rs.next()){

    System.out.print(rs.getString("sno")+"\t");

    System.out.print(rs.getString("sname")+"\t");

    System.out.print(rs.getInt("status")+"\t");

    System.out.println(rs.getString("city")+"\t");

   }

            /\*\*\*\*\*\*\*\*\* End \*\*\*\*\*\*\*\*\*/

        }catch(SQLException e){

            e.printStackTrace();

        }catch(ClassNotFoundException e){

            e.printStackTrace();

        }finally{

            try{

                if(rs != null){

                    rs.close();

                }

                if(psmt != null){

                    psmt.close();

                }

                if(conn != null){

                    conn.close();

                }

            }catch(Exception e){

                e.printStackTrace();

            }

        }

    }

}

标签:stat,String,rs,数据库,编程,接口,null,root,conn
From: https://www.cnblogs.com/moeyur/p/17386693.html

相关文章

  • 编程一小时2023.5.9
    1.#include<iostream>#include<vector>usingnamespacestd;intn;voidsolve(){cin>>n;vector<string>vec;for(inti=0;i<n;i++){stringt;cin>>t;vec.push_back(t);}......
  • 编程打卡:面向对象程序设计测试
    面向对象程序设计测试#include<iostream>#include<iomanip>usingnamespacestd;classPoint{protected:doublex,y;public:Point(doublea=0,doubleb=0):x(a),y(b){cout<<"Pointconstructorcalled\n";......
  • 打卡 c语言趣味编程 打鱼还是晒网
    中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的以后的某一天中是打鱼还是晒网。设计思路:1、定义一个函数,该函数接收两个参数:一个是起始日期,另一个是未来的某一天。2、计算起始日期和未来的某一天之间相隔的天数......
  • 第三十七天 数据库基础
    一、数据存取演变史1.文本文件 文件路径不一致:C:\a.txtD:\aaa\b.txtE:\ccc.txt 数据格式不一致:jason|123tony$123kevin@1232.软件开发目录规范 规定了数据文件的大致存储位置:db文件夹 针对数据格式还是没有完全统一:比如统一json文件但是内部键值对不同3.数......
  • 【数据库测试】【shell脚本】查询同一个SQL执行多次,并统计每次耗时
    场景说明在数据库查询中会常见coldrun与hotrun,hotrun是指将同一个SQL连续运行多遍。运行脚本创建一个run.sh直接复制如下脚本-注意修改数据库的连接IP与密码等-queries2.sql存放查询的SQL,请将queries2.sql文件与run.sh放在同一个目录下,若不在同一个目录,注意改SQL的文件......
  • 面试题之数据库存储引擎
    目录复习老师讲得什么是存储引擎?如何查看常见存储引擎的方式?需要了解的四个存储引擎了解不同存储引擎底层文件个数补充了解详细概念数据库引擎的类型1、InnoDB引擎2、ISAM引擎3、MYISAM引擎4、MEMORY存储引擎5、HEAP引擎6、ARCHIVE引擎7、BERKLEYDB引擎InnoDB与MyISAM差别ACID复......
  • 带你完成数据库的clickbench性能测试(小白都能看懂)
    clickbench官网链接:https://benchmark.clickhouse.com/如下采用的数据库为分析型数据库支持MySQL协议,其他所有的数据库操作方法均类似测试背景利用clickhouse的clickbench测试数据与查询SQL对AtomData进行了性能测试,所有的测试方法均与其他clickbench上的其他产品一致。预期......
  • MySQL(二十二)其他数据库日志(二)bin log二进制日志
    MySQL(二十二)其他数据库日志(二)binlog二进制日志binlog二进制日志binlog即binarylog,二进制日志,也叫做变更日志它记录所有更新数据的DDL和DML语句,但是不包含没有修改数据的语句(如Select、show等),以事件的形式记录保存在二进制文件中可以用于主从服务器之间的数据同步......
  • MySQL(二十二)其他数据库日志(一)通用查询日志和错误日志
    MySQL(二十二)其他数据库日志(一)通用查询日志和错误日志1MySQL支持的日志1.1日志类型慢查询日志:记录执行时间超过long_query_time的所有查询,方便我们对查询进行优化通用查询日志:记录所有连接的起始和终止时间,以及连接发送给数据库的所有指令,对复原操作的实际场景、发现问题......
  • 2023.5.9编程一小时打卡
    一、问题描述:定义基类Point(点)和派生类Circle(圆),求圆的周长。Point类有两个私有的数据成员floatx,y;Circle类新增一个私有的数据成员半径floatr和一个公有的求周长的函数getCircumference();主函数已经给出,请编写Point和Circle类。#include<iostream>#include<iomanip>using......