博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IDEA中JDBC的使用--完成对于数据库中数据的增删改查
阅读量:3904 次
发布时间:2019-05-23

本文共 6594 字,大约阅读时间需要 21 分钟。

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 setpublic 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;}

()方法的重写

@Overridepublic 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.项目结果展示

运行之后主菜单:

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

修改数据截图:

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

转载地址:http://ilmen.baihongyu.com/

你可能感兴趣的文章
HDU 1559 最大子矩阵
查看>>
Open Judge 4010 :2011
查看>>
百练OJ-2815 城堡问题【DFS】
查看>>
CODE[VS] 1025 选菜 【背包】
查看>>
POJ 1724 ROADS【DFS+剪枝】
查看>>
AOJ 847 整数拆段
查看>>
AOJ 848 分数拆分
查看>>
UVA 133 The Dole Queue 【约瑟夫环】
查看>>
XDOJ 1208 B.笑爷买房 【DFS】
查看>>
部门年度工作总结的内容
查看>>
pandas学习笔记
查看>>
Numpy笔记
查看>>
正则表达式
查看>>
python线程进程笔记
查看>>
TensorFlow初学者必须了解的55个经典案例
查看>>
机器学习笔记
查看>>
数十种TensorFlow实现案例汇集:代码+笔记
查看>>
python记录的错误与知识
查看>>
内核中各种套接字的关系
查看>>
linux sysctl 参数实现 暨 ip_forward参数对Linux内核转发影响分析
查看>>