jdbc中对数据库中对数据的CURD操作

jdbc中对数据库中对数据的CURD操作

1、导入驱动jar包

  • 1.复制mysql-connector-java-5.1.37-bin到项目的libs目录下
  • 2.右键—>Add as Library

2、注册驱动
3、获取数据库链接对象Connection
4、定义sql
5、获取执行sql语句的对象 Statement
6、处理结果
7、释放资源

jdbc中的对象:

1. DriverManager 驱动管理对象
 功能:
  1.注册驱动:告诉程序该使用哪一个数据库驱动jar
   - static void registerDriver(Driver driver) :注册与给定的驱动程序 DriverManager。
   - 写代码使用:Class.forName(“com.mysql.jdbc.Driver”);
    -通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块

				 static {
                                 try {
                                     java.sql.DriverManager.registerDriver(new Driver());
                                 } catch (SQLException E) {
                                     throw new RuntimeException("Can't register driver!");
                                 }
                             }

   注意:mysql5之后的驱动jar包可以省略注册驱动的步骤
2.获取数据库连接
   方法:static Connection getConnection(String url,String user,String password)
   参数
      url:指定连接的路径
     语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
     jdbc:mysql://localhost:3306/db1
     细节:如果连接的是本机的mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称
     user:用户名
     password:密码
    Connection 数据库连接对象
     1、功能
       1.获取sql的对象
         atement createStatement()
          PreparedStatement preparedStatement(String sql)
      2.管理事务:
        开启事务:setAutoCommit(boolean autoCommit):调用该方法设置参数为false,即开启事务
       提交事务:commit()
       回滚事务: rollback()
    Statement 执行数据库对象
            1、执行sql:
              1.boolean execute(String sql):可以执行任意的sql(了解即可)
              2.int executeUpdate(String sql):执行DML(insert、update、delete)语句、DDL(create、alter、drop)语句
                返回值:影响的行数,可以通过影响的行数来判断DML语句是否执行成功,返回值>0则返回成功,反之,则失败。
              3.Result executeQuery(String sql):执行DQL(select)语句
        ResultSet 结果集对象
        PreparedStatement 执行sql的对象,是Statement的子类


##  jdbc的添加数据
>  account表 添加一条记录,insert语句
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


public class curdTest {
    public static void main(String[] args){
    
        // 设置全局变量是为了让finally能够进行释放资源,否则作为局部变量,finally则无法进行释放
        Statement stmt = null;
        Connection conn = null;
        try {

            // 1.注册驱动
            Class.forName("com.mysql.jdbc.Driver");

            // 2.获取数据库连接对象
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1","root","root");

            // 3.定义sql语句
            String sql ="insert into account (id,name,balance) values(null,'wangwu',3000)";

            // 4.获取执行sql的对象,statement
            stmt = conn.createStatement();

            // 5.执行sql语句
            int count = stmt.executeUpdate(sql);   //count为影响的行数
            System.out.println(count);

            // 6.处理的结果
            if(count>0){
                System.out.println("打印成功");
            }else{
                System.out.println("打印失败");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {

            // 为了避免空指针异常
            if(stmt!=null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

执行结果:
在这里插入图片描述
进入sql yog中进行检查:
在这里插入图片描述

jdbc修改数据

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

public class UpdateTest {
    public static void main(String[] args) {
        Statement stmt = null;
        Connection conn = null;
        try {
            // 注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 获取连接对象
            conn = DriverManager.getConnection("jdbc:mysql:///db1","root","root");
            // 获取执行sql对象
            stmt= conn.createStatement();
            // 定义sql语句
            String sql ="UPDATE ACCOUNT SET BALANCE = 200 WHERE ID =3 ";
            // 执行sql语句
            int count = stmt.executeUpdate(sql);
            // 处理结果
            System.out.println(count);
            if(count >0){
                System.out.println("修改成功");
            }else{
                System.out.println("修改失败");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            // 释放资源
            if (stmt!=null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

执行结果如下:
在这里插入图片描述
数据库查询检查
在这里插入图片描述

jdbc删除数据

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

public class DeleteTest {
    public static void main(String[] args) {
        Statement stmt = null;
        Connection conn = null;
        try {
            // 注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 获取连接对象
            conn = DriverManager.getConnection("jdbc:mysql:///db1","root","root");
            // 获取执行sql对象
            stmt= conn.createStatement();
            // 定义sql语句
            String sql ="DELETE FROM ACCOUNT WHERE ID = 3";
            // 执行sql语句
            int count = stmt.executeUpdate(sql);
            // 处理结果
            System.out.println(count);
            if(count >0){
                System.out.println("删除成功");
            }else{
                System.out.println("删除失败");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            // 释放资源
            if (stmt!=null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

执行结果如下:
在这里插入图片描述
sql查询验证:
执行删除前:
在这里插入图片描述

执行删除后:
在这里插入图片描述

jdbc 创建数据库操作

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

public class CreateTest {
    public static void main(String[] args) {
        Statement stmt = null;
        Connection conn = null;
        try {
            // 注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 获取连接对象
            conn = DriverManager.getConnection("jdbc:mysql:///db1","root","root");
            // 获取执行sql对象
            stmt= conn.createStatement();
            // 定义sql语句
            String sql ="create table student(id int,name varchar(20))";
            // 执行sql语句
            int count = stmt.executeUpdate(sql);
            // 处理结果
            System.out.println(count);
            if(count >0){
                System.out.println("删除成功");
            }else{
                System.out.println("删除失败");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            // 释放资源
            if (stmt!=null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值