数据库工具类实战——实现简单的学生管理系统

下面我们来看一段代码:

package com.jd;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import org.omg.Messaging.SyncScopeHelper;

public class Test {
	static void menu() {
		System.out.println("1、添加学生信息");
		System.out.println("2、删除学生信息");
		System.out.println("3、修改学生信息");//地址传递
		System.out.println("4、查询学生信息");//name
		System.out.println("请输入操作,以Enter键结束:");
		Scanner scanner = new Scanner(System.in);
		int option  = scanner.nextInt();
		switch(option) {
		case 1:{
			System.out.println("请输入学号:");
			String id=scanner.next();
			if(DBUtil.exist("select * from student where id=?", id)) {
				System.out.println("学号不允许重复");
				return;
			}
			System.out.println("请输入姓名:");
			String name=scanner.next();
			System.out.println("请输入号码:");
			String mobile=scanner.next();
			System.out.println("请输入地址:");
			String address=scanner.next();
			if(DBUtil.update("insert into student(id,name,mobile,address) values (?,?,?,?)", id,name,mobile,address)) {
				System.out.println("添加成功");
			}else {
				System.out.println("添加失败");
			}
			break;
		}
		case 2:{
			System.out.println("请输入要删除的学生学号:");
			String id=scanner.next();
			if(!DBUtil.exist("select * from student where id=?", id)) {
				System.out.println("该学生不存在,删除失败!");
				return;
			}else {
				if(DBUtil.update("delete from student where id=?", id)) {
					System.out.println("删除成功");
				}else {
					System.out.println("删除失败");
				}
			}
			break;
		}
		case 3:{
			System.out.println("请输入要修改的学生学号:");
			String id=scanner.next();
			if(!DBUtil.exist("select * from student where id=?", id)) {
				System.out.println("该学生不存在,修改失败!");
				return;
			}else {
				System.out.println("请输入修改后的学生姓名:");
				String name=scanner.next();
				System.out.println("请输入修改后的手机号:");
				String mobile=scanner.next();
				System.out.println("请输入修改后的地址");
				String address=scanner.next();
				if(DBUtil.update("update student set name=?,mobile=?,address=?where id=?", name,mobile,address,id)) {
					System.out.println("学生信息修改成功");
				}else {
					System.out.println("学生信息修改失败");
				}
			}
			
			break;
		}
		case 4:{
			System.out.println("请输入要查询的学生学号:");
			String id=scanner.next();
				class RowMapper implements IRowMapper{

					@Override
					public void rowMapper(ResultSet resultSet) {
						try {
							if(resultSet.next()) {
								String name=resultSet.getString("name");
								String mobile=resultSet.getString("mobile");
								String address=resultSet.getString("address");
								System.out.println("学生学号 "+id+" 学生姓名"+name+"学生电话"+mobile+"学生地址"+address);
							}else {
								System.out.println("该学生不存在");
							}
						} catch (SQLException e) {
							e.printStackTrace();
						}
					}
				} 
				DBUtil.select("select * from student", new RowMapper(), id);
				break;
		}
		default:{
			System.out.println("I'm Sorry,there is not the "+option+" option,please try again.");
		}
		}
	}
	public static void main(String[] args) {
		System.out.println("*********************************");
		System.out.println("*\t\t\t\t*");
		System.out.println("*\t欢迎使用学生信息管理系统\t*");
		System.out.println("*\t\t\t\t*");
		System.out.println("*********************************");
		while (true) {
			menu();
		}
	}
}

在这里,我们在学生管理系统的最后一个查询功能的代码块中,我们可以将代码简化,这里运用的是Lambda表达式,我们知道,Lambda表达式可用于简化函数式接口的匿名内部类。但我们这里是一个有名内部类,因此,需要先变为匿名内部类的形式,再参照Lambda表达式的化简过程,我们可以将上述代码作如下化简,下面是化简的两种类型:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值