增删改查程序

正删改查数据库系统

public class demo1 {
	/**
	 * 数据库:cj_db
	 * 工具类:JdbcUtil.java
	 */
	private static Scanner sc=new Scanner(System.in);
	public static void main(String[] args) throws Exception {
		  
		while(true){
			System.out.println("1.查询所有学生数据");
			System.out.println("2.增加一条学生数据");
			System.out.println("3.修改一条学生数据");
			System.out.println("4.删除一条学生数据");
			String alreadyIn= sc.nextLine();
			if("1".equals(alreadyIn)){
				System.out.println("-----------------------------------------------------------");
				System.out.println("查询ok!\n\n所有数据如下:\n 学号 | 姓名 | 性别 | 住址 | 成绩");
				findAll();
				
			}else if("2".equals(alreadyIn)){
				System.out.println("-----------------------------------------------------------");
				add();
				System.out.println("\n添加数据后数据如下:\n\n 学号 | 姓名 | 性别 | 住址 | 成绩");
				findAll();
			}else if("3".equals(alreadyIn)){
				System.out.println("-----------------------------------------------------------");
				update();
				System.out.println("修改后数据如下:\n 学号 | 姓名 | 性别 | 住址 | 成绩");
				findAll();
			}else if("4".equals(alreadyIn)){
				System.out.println("-----------------------------------------------------------");
				del();
				System.out.println("删除操作后数据如下:\n 学号 | 姓名 | 性别 | 住址 | 成绩");
				findAll();
			}else if("-1".equals(alreadyIn)){
				System.out.println("-----------------------------------------------------------");
				System.out.println("退出虚拟机ok");
				System.exit(0);
			}else{
				System.err.println("Illegal input,try again");
			}
			
			
		}	 
	}
	
	private static void del() {
		System.out.println("正在进行删除数据操作!请谨慎!");
		System.out.println("按照学号删除数据,请输入要删除的学生信息的学号:");
		String id=sc.nextLine();
		Connection con = null;
		PreparedStatement pr = null;
		ResultSet rs = null;
		try {
			con=JdbcUtil.getCon();
			String sql="delete from stu where stuid=?";
			pr=con.prepareStatement(sql);
			pr.setString(1, id);
			int delRs=pr.executeUpdate();
			System.out.println("\n删除操作完成!\n影响行数"+delRs);
		} catch (Exception e) {
			// TODO: handle exception
		}finally{
			JdbcUtil.close(con, pr, rs);
		}
		
	}

	private static void update() {		
		System.out.println("修改操作中……");
		System.out.println("请输入要修改的学生编号:");
		String stuid = sc.nextLine();
		System.out.println("请输入要修改的姓名:");
		String name = sc.nextLine();
		System.out.println("请输入要修改的性别:");
		String gender = sc.nextLine();
		Connection con = null;
		PreparedStatement pr = null;
		ResultSet rs = null;
		try {
			con = JdbcUtil.getCon();
			String sql = "update stu set name=?,gender=? where stuid=?";
			pr = con.prepareStatement(sql);
			pr.setString(1, name);
			pr.setString(2, gender);
			pr.setString(3, stuid);
			int rows = pr.executeUpdate();
			if (rows > 0) {
				System.out.println("\n数据修改成功!\n影响行数:"+rows);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	
	private static void add() {
		System.out.println("正在进行增加数据操作……");
		System.err.println("This system modification is only allowed to change the studentundefineds name and gender.");
		System.out.println("输入新生学号:");
		String stuid=sc.nextLine();
		System.out.println("输入新生姓名:");
		String name=sc.nextLine();
		System.out.println("输入新生性别:");
		String gender=sc.nextLine();
		System.out.println("输入新生住址:");
		String addr=sc.nextLine();
		System.out.println("输入新生转学成绩:");
		double score=Double.parseDouble(sc.nextLine());	//对于scanner扫描输入器,大部分程序里只允许整个程序过程只接受一种数据类型;
		Connection con=null;			//例如此程序中,只接受输入String类型      !!!!!这里,变量score为double,用scanner输入只能用强转方法,scanner只能用nextLine()方法
		PreparedStatement pr=null;		//否则直接用sc.nextDouble()会有一定的bug
		ResultSet rs=null;
		try {
			con=JdbcUtil.getCon();
			String sql="insert into stu values(?,?,?,?,?)";
			pr=con.prepareStatement(sql);
			pr.setString(1, stuid);
			pr.setString(2, name);
			pr.setString(3, gender);
			pr.setString(4, addr);
			pr.setDouble(5, score);
			int upRs= pr.executeUpdate();
			System.out.println("\n数据添加已完成!\n影响行数:"+upRs);
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
	
	
	private static void findAll() {
		Connection con=null;
		Statement sta=null;
		ResultSet rs=null;
		try {
			con=JdbcUtil.getCon();
			sta=con.createStatement();
			String sql="select * from stu order by stuid";
			ResultSet selRs = sta.executeQuery(sql);
			while(selRs.next()){
				String stuid = selRs.getString("stuid");
				String name = selRs.getString("name");
				String sex = selRs.getString("gender");
				String address = selRs.getString("addr");
				double score = selRs.getDouble("score");
				System.out.println(stuid+" | "+name+" | "+sex+" | "+address+" | "+score);
			}
			System.out.println("\n-----------------------------------------------------------\n");
		} catch (Exception e) {
			
		}		
	}
	
}

下载cj_db数据库
下载JdbcUtil.java

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Brrby

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

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

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

打赏作者

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

抵扣说明:

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

余额充值