• 我爱Java系列---【原生JDBC】


    04_jdbc概念/*
    开发步骤
    1. 注册驱动.
    告诉JVM,使用的是哪个数据库

    2. 获得连接.
    java是面向对象的编程语言,任何事物都可以定义类,创建对象

    就是连接数据库,获取到数据库的连接对象,Connection对象

    3. 获得执行sql语句的对象
    Connection连接对象获取执行sql语句的Statement对象

    4. 执行sql语句,并返回结果
    Statement对象,执行增删改,返回结果,返回int数字,代表的是影响的行数
    Statement对象,执行查询,返回结果集ResultSet对象

    5. 处理结果
    增删改,返回结果,返回int数字,代表的是影响的行数,不用处理
    执行查询,返回结果集ResultSet对象,需要处理,遍历或者封装对象

    6. 释放资源.
    Connection对象
    Statement对象
    ResultSet对象
    以上3个对象,都有close方法
    开发程序代码演示:
    public class Demo05JDBC {
    //查询一条记录
    @Test
    public void queryOne() throws Exception {
    //1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");

    //2.获取连接Connection对象
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day18", "root", "abc");

    //3.获取执行SQL语句的Statement对象
    Statement stmt = con.createStatement();

    //定义查询的sql语句
    String sql = "SELECT * FROM scores WHERE sid=1";
    //4.Statement对象执行sql语句,获取结果集
    ResultSet rs = stmt.executeQuery(sql);

    //遍历输出结果集
    if (rs.next()) {
    int sid = rs.getInt(1);//根据列的编号获取
    int score = rs.getInt(2);
    String sname = rs.getString("sname");//根据列名获取
    System.out.println("编号: "+sid+", 姓名: "+sname+", 成绩: "+score);
    } else {
    System.out.println("没有该学生");
    }

    //5.关闭资源
    con.close();
    stmt.close();
    rs.close();
    }
    //查询所有记录
    @Test
    public void queryAll() throws Exception {
    //1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");

    //2.获取连接Connection对象
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day18", "root", "abc");

    //3.获取执行SQL语句的Statement对象
    Statement stmt = con.createStatement();

    //定义查询所有的sql
    String sql = "select * from scores";

    //4.Statement对象执行sql语句
    ResultSet rs = stmt.executeQuery(sql);

    //遍历输出结果集
    while(rs.next()) {
    Object sid = rs.getObject(1);//根据列编号获取值,返回的是Object类型
    Object score = rs.getObject("score");//根据列名称获取值,返回的是Object类型
    Object sname = rs.getObject(3);
    System.out.println("编号: "+sid+", 姓名: "+sname+", 成绩: "+score);
    }

    //5.关闭资源
    con.close();
    stmt.close();
    rs.close();
    }
    }
    JDBC中常用的增、删、改、查public class Demo04JDBC {
    //添加一条记录
    @Test
    public void addOne() throws Exception {
    //1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    //2. 获得连接.
    //定义数据库的连接地址
    String url = "jdbc:mysql://localhost:3306/day18";
    //定义用户名
    String userName = "root";
    //定义密码
    String passWord = "abc";
    //调用方法,获取到数据库的连接对象
    Connection con = DriverManager.getConnection(url, userName, passWord);
    //3. 获得执行sql语句的对象
    Statement stmt = con.createStatement();

    //定义sql语句
    String sql = "insert into scores(sid,score,sname) values(1,100,'柳岩')";

    //Statement对象调用executeUpdate方法执行sql语句,获取结果
    int result = stmt.executeUpdate(sql);
    if(result>0) {
    System.out.println("添加一条记录成功");
    } else {
    System.out.println("添加一条记录失败");
    }
    //关闭资源
    stmt.close();
    con.close();
    }
    //删除一条记录
    @Test
    public void deleteOne() throws Exception {
    //1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    //2. 获得连接.
    //定义数据库的连接地址
    String url = "jdbc:mysql://localhost:3306/day18";
    //定义用户名
    String userName = "root";
    //定义密码
    String passWord = "root";
    //调用方法,获取到数据库的连接对象
    Connection con = DriverManager.getConnection(url, userName, passWord);
    //3. 获得执行sql语句的对象
    Statement stmt = con.createStatement();

    //定义sql语句
    String sql = "DELETE FROM products WHERE pid='p008';";

    //Statement对象调用executeUpdate方法执行sql语句,获取结果
    int result = stmt.executeUpdate(sql);
    System.out.println(result);
    if(result==1) {
    System.out.println("删除一条记录成功");
    } else {
    System.out.println("删除一条记录失败");
    }
    //关闭资源
    stmt.close();
    con.close();
    }
    //修改一条记录
    @Test
    public void updateOne() throws Exception {
    //1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");

    //2.获取连接Connection对象
    //定义数据库的连接地址
    String url = "jdbc:mysql://localhost:3306/day18";
    //定义用户名
    String userName = "root";
    //定义密码
    String passWord = "abc";

    Connection con = DriverManager.getConnection(url, userName, passWord);

    //3.获取执行SQL语句的Statement对象
    Statement stmt = con.createStatement();

    //4.Statement对象执行sql语句
    String sql = "update scores set score=60 where sname='柳岩'";
    int result = stmt.executeUpdate(sql);
    if(result>0) {
    System.out.println("修改一条记录成功");
    } else {
    System.out.println("修改一条记录失败");
    }
    //关闭资源
    stmt.close();
    con.close();

    }
    //查询一条记录
    @Test
    public void queryOne() throws Exception {
    //1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");

    //2.获取连接Connection对象
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day18", "root", "abc");

    //3.获取执行SQL语句的Statement对象
    Statement stmt = con.createStatement();

    //定义查询的sql语句
    String sql = "SELECT * FROM scores WHERE sid=1";
    //4.Statement对象执行sql语句,获取结果集
    ResultSet rs = stmt.executeQuery(sql);

    //遍历输出结果集
    if (rs.next()) {
    int sid = rs.getInt(1);//根据列的编号获取
    int score = rs.getInt(2);
    String sname = rs.getString("sname");//根据列名获取
    System.out.println("编号: "+sid+", 姓名: "+sname+", 成绩: "+score);
    } else {
    System.out.println("没有该学生");
    }

    //5.关闭资源
    con.close();
    stmt.close();
    rs.close();
    }
    //查询所有记录
    @Test
    public void queryAll() throws Exception {
    //1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");

    //2.获取连接Connection对象
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day18", "root", "abc");

    //3.获取执行SQL语句的Statement对象
    Statement stmt = con.createStatement();

    //定义查询所有的sql
    String sql = "select * from scores";

    //4.Statement对象执行sql语句
    ResultSet rs = stmt.executeQuery(sql);

    //遍历输出结果集
    while(rs.next()) {
    Object sid = rs.getObject(1);//根据列编号获取值,返回的是Object类型
    Object score = rs.getObject("score");//根据列名称获取值,返回的是Object类型
    Object sname = rs.getObject(3);
    System.out.println("编号: "+sid+", 姓名: "+sname+", 成绩: "+score);
    }

    //5.关闭资源
    con.close();
    stmt.close();
    rs.close();
    }
    }

    
    
    
    
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    windows下jmeter安装配置
    golang读取json配置文件
    磁盘分区、扇区等概念理解
    linux 命令笔记
    jvm静态分派和动态分派
    java实例初始化顺序
    计算机网络
    文件对比工具Meld
    IaaS、PaaS、SaaS
    USB 驱动常见名词解释
  • 原文地址:https://www.cnblogs.com/hujunwei/p/10848885.html
Copyright © 2020-2023  润新知