IDEA中JDBC的使用--完成对于数据库中数据的增删改查

IDEA中JDBC的使用--完成对于数据库中数据的增删改查

1.在IDEA中新建一个项目

1.1点击右上角file,在new中选择project,在左侧选择Java项目,选择自己所安装的SDK包,点击next
在这里插入图片描述
1.2继续点击next
在这里插入图片描述
1.3决定项目的名字以及项目存放的文件夹,之后点击finish,完成项目的创建
在这里插入图片描述

2.进行各个类的编写

2.1右键点击所创建项目的src选择新建一个package
在这里插入图片描述
填入名字,完成新建
在这里插入图片描述

2.2编写用户类,完成对属性的封装,get和set方法的引入,对于构造方法的封装以及tostring方法的重写。在编写时,可以在定义完变量之后,在空白处右键点击,选择generate,可以比较轻松的完成多个函数的建立。
package jdbc01;
//实体类
public class User {
//对属性的封装
private int id;//用户ID
private String username;//用户名
private String password;//密码

//2.get and set

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

//3.构造方法

public User(int id, String username, String password) {
    this.id = id;
    this.username = username;
    this.password = password;
}

public User() {
}

public User(String username, String password) {
    this.username = username;
    this.password = password;
}

public User(String username) {
    this.username = username;
}

//4.toString()方法的重写

@Override
public String toString() {
    return "User{" +
            "id=" + id +
            ", username='" + username + '\'' +
            ", password='" + password + '\'' +
            '}';
}

}

2.3编写工具类,使用jdbc分步骤连接数据库
package com.zhongruan;

import java.sql.*;

public class DBUtil {
private static String driver = “com.mysql.jdbc.Driver”;
private static String url = “jdbc:mysql://localhost:3306/java7?useSSL=true&characterEncoding=utf-8”;
private static String user = “root”;
private static String password = “123456”;

// 1. 获取驱动
static {
    try {
        Class.forName(driver);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

// 2. 创建连接
public static Connection get_Conn() throws SQLException {
    Connection conn = DriverManager.getConnection(url, user, password);
    System.out.println("数据库连接成功" + conn);
    return conn;
}

// 3. 关闭连接
public static void get_CloseConn(ResultSet rs, PreparedStatement pstm, Connection conn) throws SQLException {
    if(rs !=null){
        rs.close();
    }

    if(pstm !=null){
        pstm.close();
    }

    if(conn !=null){
        conn.close();
    }
}

// 都叫白盒测试 / 单元测试
public static void main(String[] args) {
    try {
        get_Conn();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

}

2.4函数方法实现类的编写
package jdbc01;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class Jdbcdemo02 {
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;

//测试增加
public void addUser(User user){
    try {
        //1.获取连接
        con = DBUtil.get_Con();

        //2.获取存放sql语句的对象
        pstm = con.prepareStatement("insert into tb_user(username,password) value(?,?)");

        //3.填坑
        pstm.setString(1,user.getUsername());
        pstm.setString(2,user.getPassword());

        //4.执行sql语句 并得到返回值
        int i = pstm.executeUpdate();

        //5.处理结果
        if(i>0) {
            System.out.println("增加成功");
        }
        else  {
            System.out.println("增加失败");
        }

    } catch (SQLException e) {
        e.printStackTrace();
    }finally{
        //关闭连接
        try {
            DBUtil.get_CloseCon(null,pstm,con);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    }

public void Query(){
    try {
        con = DBUtil.get_Con();

    pstm =con.prepareStatement("select * from tb_user");
    ResultSet rs = pstm.executeQuery();

    //遍历结果
    while(rs.next()){
        System.out.println("用户ID:"+rs.getInt(1));
        System.out.println("用户名:"+rs.getString(2));
        System.out.println("用户密码:"+rs.getString(3));
    }
    } catch (SQLException e) {
        e.printStackTrace();
    }finally {

        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        } else if (con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

public  void modUser(User user){
    try {
        con = DBUtil.get_Con();
        pstm = con.prepareStatement("update tb_user set username ='"+ user.getUsername()
                +"'where username='李四虎'");
        int i = pstm.executeUpdate();
        if(i>0) System.out.println("修改成功");
        else System.out.println("修改失败");
    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        if(pstm!=null) {
            try {
                pstm.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }else if(con!=null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

public void delUser(User user){
    try {
        con = DBUtil.get_Con();
        pstm = con.prepareStatement("delete  from tb_user where username='"+user.getUsername()+"'");
        int i = pstm.executeUpdate();
        if(i>0) System.out.println("删除成功");
        else System.out.println("删除失败");
    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        if(pstm!=null) {
            try {
                pstm.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }else if(con!=null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

public  static  void  main(String[] args){
    Jdbcdemo02 j2 = new Jdbcdemo02();
    User user = new User();
    int i = 0;
    int m=1;
    while(m==1){
    System.out.println("------选项列表------");
    System.out.println("1.遍历数据");
    System.out.println("2.增加数据");
    System.out.println("3.修改数据");
    System.out.println("4.删除数据");
    System.out.println("0.退出");
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入选项:");
    i = sc.nextInt();

    switch (i){
        case 1:j2.Query();m=1;break;
        case 2:user = new User("李四虎","456456");j2.addUser(user);m=1;break;
        case 3:user = new User("王五","456456");j2.modUser(user);m=1;break;
        case 4:user = new User("王五");j2.delUser(user);m=1;break;
        case 0:m=0;break;
        default:m=1;System.out.println("请重新输入(0-4)");
    }
    }

// User user = new User(3,“王五”,“456456”);
// j2.addUser(user);
// j2.modUser(user);
// j2.delUser(user);
// j2.Query();

}

}

3.项目结果展示

运行之后主菜单:
在这里插入图片描述
遍历数据截图:
在这里插入图片描述
添加数据截图:
在这里插入图片描述
添加之后的遍历截图:
在这里插入图片描述
由于这里是直接给定的添加的数据,没有完善可以自己输入的部分,后面的修改也是如此。

修改数据截图:
在这里插入图片描述
修改之后遍历截图:
在这里插入图片描述
删除截图:
在这里插入图片描述
删除之后遍历截图:
在这里插入图片描述

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_41514083

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值