学生管理系统->DBUtil实战

用上篇博客的DBUtil工具类写的学生管理系统,可实现数据的增删改查以及账户的登陆注册

mysql数据库名:usa
两张表:user(存放姓名name和学号id)、user_info(存放用户名uN和密码password)
IRowMapper接口

package com.jd.util;

import java.sql.ResultSet;

public interface IRowMapper{
	void rowMapper(ResultSet rs);
}

db.properties文档

jdbc.url=jdbc:mysql://localhost:3306/usa
jdbc.uN=root
jdbc.password=root

propertiesUtil

package com.jd.util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class PropertiesUtil {

	static Properties properties = new Properties();
	static {
		InputStream inputStream = PropertiesUtil.class.getClassLoader().getResourceAsStream("db.properties");
		try {
			properties.load(inputStream);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	public static String getValue(String key) {
		return properties.getProperty(key);
	}
}

学生管理系统

package jdbc;

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

import com.jd.util.DBUtil;
import com.jd.util.IRowMapper;

public class Main {

	public static void main(String[] args) {
		
		while(true) {
			Scanner scan = new Scanner(System.in);
			System.out.println("请输入数字选择登录(1)或注册(2)");
			int x = scan.nextInt();
			switch(x) {
				case 1 :{
					System.out.println("请输入用户名");
					String uN = scan.next();
					
					String sql = "select * from user_info where uN = ?";
					if(!DBUtil.exist(sql,uN)) {
						System.out.println("用户名不存在");
						break;
					}
					System.out.println("请输入密码");
					String password = scan.next();
					
					sql = "select * from user_info where uN = "+uN+" and password = ?";
					if(DBUtil.exist(sql, password)) {
						System.out.println("登录成功!");
						while (true) {
							menu();
						}
					}else {
						System.out.println("密码错误");
						break;
					}
				}
				case 2 :{
					System.out.println("请输入用户名");
					String uN = scan.next();
					String sql = "select * from user_info where uN = ?";
					if(DBUtil.exist(sql,uN)) {
						System.out.println("用户名已存在");
						break;
					}
					System.out.println("请输入密码");
					String password = scan.next();
					sql = "insert into user_info (uN,password) values(?,?)";
					DBUtil.login(sql,uN,password);
					break;
				}
				default:{
					System.out.println("输入不合法");
				}
			}
			
		}
	}

	public static void menu() {
		System.out.println("1.增");
		System.out.println("2.删");
		System.out.println("3.改");
		System.out.println("4.查");
		System.out.println("请输入数字。。。");
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		switch(n) {
			case 1 :{
				System.out.println("请输入学号");
				String id = scan.next();
				String sql = "select * from user where id = ?";
				if(DBUtil.exist(sql,id)) {
					System.out.println("学号重复");
					return;
				}
				System.out.println("请输入姓名");
				String name = scan.next();
				sql = "insert into user (id,name) values(?,?)";
				if (DBUtil.update(sql,id,name)) {
					System.out.println("添加成功");
				} else {
					System.out.println("添加失败");
				}
				break;
			}
			
			case 2 :{
				System.out.println("请输入学号");
				String id = scan.next();
				String sql = "select * from user where id = ?";
				if(!DBUtil.exist(sql,id)) {
					System.out.println("不存在此人");
					return;
				}
				sql = "delete from user where id = ?";
				if (DBUtil.update(sql,id)) {
					System.out.println("删除成功");
				} else {
					System.out.println("删除失败");
				}
				break;
			}
			
			case 3 :{
				System.out.println("请输入学号");
				String id = scan.next();
				String sql = "select * from user where id = ?";
				if(!DBUtil.exist(sql,id)) {
					System.out.println("不存在此人");
					return;
				}
				System.out.println("改后的名字是");
				String name = scan.next();
				sql = "update user set name =? where id =?";
				if (DBUtil.update(sql,name,id)) {
					System.out.println("修改成功");
				} else {
					System.out.println("修改失败");
				}
				break;
			}
			
			case 4 :{
				class RowMapper implements IRowMapper{
					@Override
					public void rowMapper(ResultSet rs) {
						try {
							if(rs.next()) {
								String name = rs.getString("name");
								System.out.println("name="+name);
							}else {
								System.out.println("不存在");
							}
						} catch (SQLException e) {
							e.printStackTrace();
						}
					}
				}
				System.out.println("请输入学号");
				String id = scan.next();
				if(!DBUtil.exist("select * from user where id = ?",id)) {
					System.out.println("不存在此人");
					return;
				}
				DBUtil.select("select name from user where id = ?",new RowMapper(),id);
				break;
			}
			
			default :{
				System.out.println("数字不合法");
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值