JAVA实验七——JDBC数据库使用

Posted ALAN_CF

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA实验七——JDBC数据库使用相关的知识,希望对你有一定的参考价值。

实验结果

1、数据查询

"C:\\Program Files\\Java\\jdk-16.0.2\\bin\\java.exe" "-javaagent:D:\\IDEA\\IntelliJ IDEA 2021.2\\lib\\idea_rt.jar=62520:D:\\IDEA\\IntelliJ IDEA 2021.2\\bin" -Dfile.encoding=UTF-8 -classpath E:\\CODING__ALAN_CF\\JAVA\\Experimet_Java\\out\\production\\Experimet_Java;E:\\CODING__ALAN_CF\\JAVA\\mysql-connector-java-8.0.23\\mysql-connector-java-8.0.23.jar EX7.Main
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
1
*****1、查询全表数据*****
*****2、单个参数查询*****
*****3、输入语句查询*****
1
ALAN	M	15	
friend	m	15	
frank	m	16	
student	m	10	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
1
*****1、查询全表数据*****
*****2、单个参数查询*****
*****3、输入语句查询*****
2
*****1、按姓名查询*****
*****2、按性别查询*****
*****3、按年龄查询*****
1
请输入姓名:
frank
frank	m	16	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
1
*****1、查询全表数据*****
*****2、单个参数查询*****
*****3、输入语句查询*****
2
*****1、按姓名查询*****
*****2、按性别查询*****
*****3、按年龄查询*****
2
请输入性别:
m
friend	m	15	
frank	m	16	
student	m	10	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
1
*****1、查询全表数据*****
*****2、单个参数查询*****
*****3、输入语句查询*****
2
*****1、按姓名查询*****
*****2、按性别查询*****
*****3、按年龄查询*****
3
请输入年龄:
10
student	m	10	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
1
*****1、查询全表数据*****
*****2、单个参数查询*****
*****3、输入语句查询*****
3
请输入SQL语句:
select * from student_x where name='frank';
frank	m	16	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
5

Process finished with exit code 0

2、数据插入

****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
2
*****1、输入具体SQL语句进行数据插入*****
*****2、输入字段参数进行数据插入   *****
2
请输入要插入数据的内容
***Name***Sex***Age***
studentx fm 19
插入新记录完成,现在该表的数据如下:
ALAN	M	15	
friend	m	15	
frank	m	16	
student	m	10	
studentx	fm	19	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
2
*****1、输入具体SQL语句进行数据插入*****
*****2、输入字段参数进行数据插入   *****
1
请输入SQL语句:
insert into student_x values('girlfriend','fm',20);
插入新记录完成,现在该表的数据如下:
ALAN	M	15	
friend	m	15	
frank	m	16	
student	m	10	
studentx	fm	19	
girlfriend	fm	20	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
5

Process finished with exit code 0

3、数据修改

****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
3
*****1、输入具体SQL语句进行数据修改*****
*****2、输入字段参数进行数据修改   *****
2
*****1、只改名字*****
*****2、只改性别*****
*****3、只改年龄*****
1
*****name_new*****name_old*****
输入参数:
wife girlfriend
修改记录完成,现在该表的数据如下:
ALAN	M	15	
friend	m	15	
frank	m	16	
student	m	10	
studentx	fm	19	
wife	fm	20	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
3
*****1、输入具体SQL语句进行数据修改*****
*****2、输入字段参数进行数据修改   *****
2
*****1、只改名字*****
*****2、只改性别*****
*****3、只改年龄*****
2
*****sex_new*****name*****
输入参数:
fm student
修改记录完成,现在该表的数据如下:
ALAN	M	15	
friend	m	15	
frank	m	16	
student	fm	10	
studentx	fm	19	
wife	fm	20	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
3
*****1、输入具体SQL语句进行数据修改*****
*****2、输入字段参数进行数据修改   *****
2
*****1、只改名字*****
*****2、只改性别*****
*****3、只改年龄*****
3
*****age_new*****name*****
输入参数:
21 wife
修改记录完成,现在该表的数据如下:
ALAN	M	15	
friend	m	15	
frank	m	16	
student	fm	10	
studentx	fm	19	
wife	fm	21	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
3
*****1、输入具体SQL语句进行数据修改*****
*****2、输入字段参数进行数据修改   *****
1
请输入SQL语句:
update student_x set name='mywife' where name='wife';
修改记录完成,现在该表的数据如下:
ALAN	M	15	
friend	m	15	
frank	m	16	
student	fm	10	
studentx	fm	19	
mywife	fm	21	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
5

Process finished with exit code 0

4、数据删除

****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
4
*****1、输入具体SQL语句进行数据删除*****
*****2、输入字段参数进行数据删除   *****
2
输入姓名,删除该行
mywife
删除记录完成,现在该表的数据如下:
ALAN	M	15	
friend	m	15	
frank	m	16	
student	fm	10	
studentx	fm	19	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
4
*****1、输入具体SQL语句进行数据删除*****
*****2、输入字段参数进行数据删除   *****
1
请输入SQL语句:
delete from student_x where sex='fm';
删除记录完成,现在该表的数据如下:
ALAN	M	15	
friend	m	15	
frank	m	16	
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
5

Process finished with exit code 0

源代码

Main类,程序开始于执行Main类的main方法

package EX7;

import java.util.Scanner;

/**
 * @author 15328
 */
public class Main {

    protected String string_sql;
    protected String forname;
    protected String url;
    protected String user;
    protected String password;

    protected static final String string_sql_x = "select * from student_x";
    protected static final String forname_x = "com.mysql.cj.jdbc.Driver";
    protected static final String url_x = "jdbc:mysql://localhost:3306/test_db";
    protected static final String user_x = "root";
    protected static final String password_x = "123456";

    public Main(String string_sql, String forname, String url, String user, String password) {
        this.string_sql = string_sql;
        this.forname = forname;
        this.url = url;
        this.user = user;
        this.password = password;
    }


    public static void main(String[] args) throws Exception {
        /**查询对象,用于查询全表*/
        StatementExcute statementExcute = new StatementExcute(
                "select * from student_x", forname_x,url_x,user_x,password_x);

        PreparedStatementExecuteInsert preparedStatementExecuteInsert = new PreparedStatementExecuteInsert(
                "insert into student_x values(?,?,?);",forname_x, url_x,user_x,password_x);

        StatementExcuteUpdate statementExcuteUpdate = new StatementExcuteUpdate(
                "", forname_x,url_x,user_x,password_x);

        PreparedStatementExecuteDelete preparedStatementExecuteDelete = new PreparedStatementExecuteDelete(
                "delete from student_x where name=?;", forname_x,url_x,user_x,password_x);


        PreparedStatementExcuteUpdate preparedStatementExcuteUpdate1 = new PreparedStatementExcuteUpdate(
                "update student_x set name=? where name=?",forname_x, url_x,user_x,password_x
        );
        PreparedStatementExcuteUpdate preparedStatementExcuteUpdate2 = new PreparedStatementExcuteUpdate(
                "update student_x set sex=? where name=?",forname_x, url_x,user_x,password_x);
        PreparedStatementExcuteUpdate preparedStatementExcuteUpdate3 = new PreparedStatementExcuteUpdate(
                "update student_x set age=? where name=?",forname_x, url_x,user_x,password_x);


        PreparedStatmentExecute preparedStatmentExecute1 = new PreparedStatmentExecute(
                "select * from student_x where name=?;",forname_x, url_x,user_x,password_x);
        PreparedStatmentExecute preparedStatmentExecute2 = new PreparedStatmentExecute(
                "select * from student_x where sex=?;",forname_x, url_x,user_x,password_x);
        PreparedStatmentExecute preparedStatmentExecute3 = new PreparedStatmentExecute(
                "select * from student_x where age=?;",forname_x, url_x,user_x,password_x);

        operate(statementExcute,
                preparedStatementExecuteInsert,
                statementExcuteUpdate,
                preparedStatementExecuteDelete,
                preparedStatementExcuteUpdate1,
                preparedStatementExcuteUpdate2,
                preparedStatementExcuteUpdate3,
                preparedStatmentExecute1,
                preparedStatmentExecute2,
                preparedStatmentExecute3);
    }
    public static void show_all_table(StatementExcute statementExcute) throws Exception {
        statementExcute.statementexcute("");
    }
    public static void show_one_table(PreparedStatmentExecute preparedStatmentExecute1,
                                      PreparedStatmentExecute preparedStatmentExecute2,
                                      PreparedStatmentExecute preparedStatmentExecute3) throws Exception {
        Scanner input = new Scanner(System.in);
        System.out.println("*****1、按姓名查询*****");
        System.out.println("*****2、按性别查询*****");
        System.out.println("*****3、按年龄查询*****");
        int judge_select = input.nextInt();
        input.nextLine();
        switch (judge_select){
            case 1:{
                System.out.println("请输入姓名:");
                String name = input.next();
                input.nextLine();
                preparedStatmentExecute1.preparedstatementexecute1(name);
                break;
            }
            case 2:{
                System.out.println("请输入性别:");
                String sex = input.next();
                input.nextLine();
                preparedStatmentExecute2.preparedstatementexecute1(sex);
                break;
            }
            case 3:{
                System.out.println("请输入年龄:");
                int age = input.nextInt();
                input.nextLine();
                preparedStatmentExecute3.preparedstatementexecute2(age);
                break;
            }
            default:{
                System.out.println("非法输入");
                break;
            }
        }
    }
    public static void show_table(StatementExcute statementExcute,
                                  PreparedStatmentExecute preparedStatmentExecute1,
                                  PreparedStatmentExecute preparedStatmentExecute2,
                                  PreparedStatmentExecute preparedStatmentExecute3) throws Exception {
        Scanner input = new Scanner(System.in);
        System.out.println("*****1、查询全表数据*****");
        System.out.println("*****2、单个参数查询*****");
        System.out.println("*****3、输入语句查询*****");
        int judge_select = input.nextInt();
        input.nextLine();
        switch(judge_select){
            case 1: {
                show_all_table(statementExcute);
                break;
            }
            case 2:{
                show_one_table(preparedStatmentExecute1,preparedStatmentExecute2,preparedStatmentExecute3);
                break;
            }
            case 3:{
                show_one_table_inSQL(statementExcute);
                break;
            }
            default:{
                System.out.println("非法输入");
                break;
            }
        }
    }

    public static void show_one_table_inSQL(StatementExcute statementExcute) throws Exception{
        Scanner input = new Scanner(System.in);
        System.out.println("请输入SQL语句:");
        String sql = input.nextLine();
        statementExcute.string_sql = "";
        statementExcute.statementexcute(sql);
        statementExcute.string_sql = string_sql_x;
    }

    public static void insert_one(PreparedStatementExecuteInsert preparedStatementExecuteInsert) throws Exception {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入要插入数据的内容");
        System.out.println("***Name***Sex***Age***");
        String name = input.next();
        String sex = input.next();
        int age = input.nextInt();
        input.nextLine();
        preparedStatementExecuteInsert.preparedstatementexecuteinsert(name,sex,age);
    }

    public static void do_one_in_SQL(StatementExcuteUpdate statementExcuteUpdate) throws Exception{
        Scanner input = new Scanner(System.in);
        System.out.println("请输入SQL语句:");
        String sql = input.nextLine();
        statementExcuteUpdate.statementexcuteupdate(sql);
    }

    public static void update_one(PreparedStatementExcuteUpdate preparedStatementExcuteUpdate1,
                                  PreparedStatementExcuteUpdate preparedStatementExcuteUpdate2,
                                  PreparedStatementExcuteUpdate preparedStatementExcuteUpdate3) throws Exception{
        Scanner input = new Scanner(System.in);
        System.out.println("*****1、只改名字*****");
        System.out.println("*****2、只改性别*****");
        System.out.println("*****3、只改年龄*****");
        int judge_u = input.nextInt();
        input.nextLine();
        switch (judge_u){
            case 1:{
                System.out.println("*****name_new*****name_old*****");
                System.out.println("输入参数:");
                String name_new = input.next();
                String name_old = input.next();
                input.nextLine();
                preparedStatementExcuteUpdate1.preparedstatementexecuteupdate(name_new,name_old);
                break;
            }
            case 2:{
                System.out.println("*****sex_new*****name*****");
                System.out.println("输入参数:");
                String sex_new = input.next();
                String name_s = input.next();
                input.nextLine();
                preparedStatementExcuteUpdate2.preparedstatementexecuteupdate(sex_new,name_s);
                break;
            }
            case 3:{
                System.out.println("*****age_new*****name*****");
                System.out.println("输入参数:");
                int age_new = input.nextInt();
                String name_a = input.next();
                input.nextLine();
                preparedStatementExcuteUpdate3.prepreparedstatementexecuteupdate2(age_new,name_a);
                break;
            }
            default:{
                System.out.println("非法输入");
                break;
            }
        }
    }

    public static void delete_one(PreparedStatementExecuteDelete preparedStatementExecuteDelete) throws Exception {
        Scanner input = new Scanner(System.in);
        System.out.println("输入姓名,删除该行");
        String name = input.next();
        input.nextLine();
        preparedStatementExecuteDelete.preparedstatementexecutedelete(name);
    }

    public static void operate(StatementExcute statementExcute,
                               PreparedStatementExecuteInsert preparedStatementExecuteInsert,
                               StatementExcuteUpdate statementExcuteUpdate,
                               PreparedStatementExecuteDelete preparedStatementExecuteDelete,
                               PreparedStatementExcuteUpdate preparedStatementExcuteUpdate1,
                               PreparedStatementExcuteUpdate preparedStatementExcuteUpdate2,
                               PreparedStatementExcuteUpdate preparedStatementExcuteUpdate3,
                               PreparedStatmentExecute preparedStatmentExecute1,
                               PreparedStatmentExecute preparedStatmentExecute2,
                               PreparedStatmentExecute preparedStatmentExecute3) throws Exception {
        Scanner input = new Scanner(System.in);
        while(true){
            System.out.println("****************选项****************");
            System.out.println("********1、数据查询********");
          

以上是关于JAVA实验七——JDBC数据库使用的主要内容,如果未能解决你的问题,请参考以下文章

实验七

第十四周课程总结&实验报告

2021软件创新实验室暑假集训JDBC(原理使用以及实现简单的数据库连接池)

2021软件创新实验室暑假集训JDBC(原理使用以及实现简单的数据库连接池)

Java程序设计—JDBC实验

数据库原理实验(openGauss) 使用JDBC连接数据库