2021-04-22

这篇博客介绍了如何使用Java的JDBC进行数据库操作,包括建立连接、执行SQL语句(insert、delete、update、select)以及处理结果集(ResultSet)。通过示例代码展示了如何插入数据、更新数据、删除数据以及查询数据并输出结果。注意SQL语句的语法和资源的正确释放。
摘要由CSDN通过智能技术生成

JDBC

结果集对象(ResultSet)

再进行selsct操作时,需要用到executeQuery()方法,该方法的返回值就是一个结果集对象,该对象封装的是查询对象(列表)。
方法:

  1. next():游标(默认指向列名行)向下走一行,返回值为boolean类型
  2. getXxx(参数):获取数据
    Xxx代表数据类型,如:getInt()
    参数有两种:列的编号(int)从1开始、列的名称(String):如name.
    看方法的使用:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class prcatice2 {
    public static void main(String[] args){
        Statement statement=null;
        Connection connection=null;
        ResultSet rs=null;
        try{
            //1.注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.定义sql
            String sql="select * from student";
            //3.获取Connection对象   ?useUnicode=true&characterEncoding=utf-8是用来解决乱码的
            connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/text?useUnicode=true&characterEncoding=utf-8","root","root");
            //4.获取执行sql的对象 Statement
            statement=connection.createStatement();
            //5.执行sql
            rs=statement.executeQuery(sql);
            //6.处理结果
            while (rs.next()){  //判断是否有数据
            //有数据便获取数据然后输出
                    String name=rs.getString("name");  
                    int id=rs.getInt("id");
                    int age=rs.getInt("age");
                System.out.println(name+" "+id+" "+age);
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (rs!=null){
                try {
                    rs.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
            if(statement!=null){
                try {
                    statement.close();
                }catch (Exception e){
                    e.printStackTrace();
                }

            }
            if (connection!=null) {
                try {
                    connection.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

insert、delete、update、select的使用

1.insert:
先准备号数据库text和一张表student:
在这里插入图片描述
表中有如下几个字段:
在这里插入图片描述
然后再表中简单的加入一天记录:

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

public class practice1 {
    public static void main(String[] args){
        Statement statement=null;
        Connection connection=null;
        try{
            //1.注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.定义sql
            String sql="insert into student values('张三',12305,18)";
            //3.获取Connection对象   ?useUnicode=true&characterEncoding=utf-8是用来解决乱码的
            connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/text?useUnicode=true&characterEncoding=utf-8","root","root");//账号和密码同为root
            //4.获取执行sql的对象 Statement
            statement=connection.createStatement();
            //5.执行sql
            int count=statement.executeUpdate(sql);
            //6.处理结果
            System.out.println(count);
        }catch (Exception e){
            e.printStackTrace();
        }finally {//资源的释放
            if(statement!=null){
                try {
                    statement.close();
                }catch (Exception e){
                    e.printStackTrace();
                }

            }
            if (connection!=null){
                try {
                    connection.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
    }
}

在这里插入图片描述
插入之后如图。需要注意的是:sql语句的书写,对语法要求比较严格,还有就是资源的释放,最后根据打印结果判断是否添加成功(大于0就说明成功了)
2.update:
执行前面的代码有很大冗余不同的只有sql语句,只需要将上述代码中的sql语句改为:

String sql="update student set age=20 where id=12305";

即可,修改结果如下:
在这里插入图片描述
3.delete:
同样删除操作的sql:

String sql="delete from student where id=12305";

当打印结果为1时代表运行成功,结果如下:
在这里插入图片描述
4.select
在使用select语句时除了sql语句的不同之外,调用的方法也不同,使用的时executeQuery()方法,该方法返回一个结果集对象,然后跟循环输出结果即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值