package com.zqz.demo01; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; public class Demo02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); JDBCUse jU = new JDBCUse(); Connection c = jU.getConnection(); PreparedStatement ps=null; ResultSet rs=null; System.out.println("请输入想要执行的对emp表操作的语句"); System.out.println("select insert update delete"); String a=sc.next(); System.out.println("好的,请输入具体的语句"); String aa=sc.nextLine(); //注意,在使用Scanner 的.next后,如果直接跟上nextLine,那么会没有输入机会 // 直接跳过输入语句,所以中间需要一个nextline进行缓冲 String sql = sc.nextLine(); System.out.println(sql); switch (a){ case "select": try { ps = c.prepareStatement(sql); rs = ps.executeQuery(); while(rs.next()){ Emp e = new Emp(); e.setId(rs.getInt(1)); e.setName(rs.getString(2)); e.setAge(rs.getInt(3)); e.setSalary(rs.getDouble(4)); e.setJob(rs.getString(5)); e.setEntryTime(rs.getDate(6)); e.setDept(rs.getString(7)); System.out.println(e); } } catch (Exception e) { e.printStackTrace(); }finally { jU.closeAll(c,ps,rs); } break; case "insert": try { ps = c.prepareStatement(sql); Boolean b = ps.execute(); if(b){ System.out.println("插入成功"); }else{ System.out.println("插入失败"); } } catch (SQLException e) { e.printStackTrace(); }break; case "update": try { ps = c.prepareStatement(sql); Boolean b = ps.execute(); if(b){ System.out.println("修改成功"); }else{ System.out.println("修改失败"); } } catch (SQLException e) { e.printStackTrace(); }break; case "delete": try { ps = c.prepareStatement(sql); Boolean b = ps.execute(); if(b){ System.out.println("删除成功"); }else{ System.out.println("删除失败"); } } catch (SQLException e) { e.printStackTrace(); }break; default: System.out.println("输入了错误的指令"); } } }
//工具包
package com.zqz.demo01; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; public class Demo02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); JDBCUse jU = new JDBCUse(); Connection c = jU.getConnection(); PreparedStatement ps=null; ResultSet rs=null; System.out.println("请输入想要执行的对emp表操作的语句"); System.out.println("select insert update delete"); String a=sc.next(); System.out.println("好的,请输入具体的语句"); String aa=sc.nextLine(); //注意,在使用Scanner 的.next后,如果直接跟上nextLine,那么会没有输入机会 // 直接跳过输入语句,所以中间需要一个nextline进行缓冲 String sql = sc.nextLine(); System.out.println(sql); switch (a){ case "select": try { ps = c.prepareStatement(sql); rs = ps.executeQuery(); while(rs.next()){ Emp e = new Emp(); e.setId(rs.getInt(1)); e.setName(rs.getString(2)); e.setAge(rs.getInt(3)); e.setSalary(rs.getDouble(4)); e.setJob(rs.getString(5)); e.setEntryTime(rs.getDate(6)); e.setDept(rs.getString(7)); System.out.println(e); } } catch (Exception e) { e.printStackTrace(); }finally { jU.closeAll(c,ps,rs); } break; case "insert": try { ps = c.prepareStatement(sql); Boolean b = ps.execute(); if(b){ System.out.println("插入成功"); }else{ System.out.println("插入失败"); } } catch (SQLException e) { e.printStackTrace(); }break; case "update": try { ps = c.prepareStatement(sql); Boolean b = ps.execute(); if(b){ System.out.println("修改成功"); }else{ System.out.println("修改失败"); } } catch (SQLException e) { e.printStackTrace(); }break; case "delete": try { ps = c.prepareStatement(sql); Boolean b = ps.execute(); if(b){ System.out.println("删除成功"); }else{ System.out.println("删除失败"); } } catch (SQLException e) { e.printStackTrace(); }break; default: System.out.println("输入了错误的指令"); } } }