package test;import java.sql.*;import java.util.Scanner;public class testSql002_StudentTest { /** * 获得数据库连接的 * @return 数据库连接对象 * @throws Exception */ static Scanner input = new Scanner(System.in); public static Connection getCon() throws Exception{ String qudong = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/studentdb"; String name = "root"; String pwd = "123"; //加载驱动 java和数据库的桥梁搭建好了 Class.forName(qudong); //获得数据库连接 可以通过api连接数据库对数据库进行操作了 Connection con = DriverManager.getConnection(url,name,pwd); return con; } /*显示学员的详细信息*/ public static void showStu() throws Exception{ Connection con = getCon(); //显示stu表中的学号,姓名,地址???? Statement st = con.createStatement();//执行sql语句 String sql = "select * from stu"; //st.executeQuery(sql) //执行select 语句的 ResultSet //st.executeUpdate(sql) //执行 insert update delete语句 int 受影响的行数 ResultSet rs = st.executeQuery(sql);//执行查询语句获得结果 while(rs.next()){//读取下一行记录 读到数据返回 true没有数据false String stuid = rs.getString(1); //索引值 列名 读取列的信息 String stuname = rs.getString(2); String stuaddress = rs.getString("stuaddress"); System.out.println(stuid+"\t"+stuname+"\t"+stuaddress);//控制台显示 } con.close();//关闭数据库连接 //问题:读取所有行 的数据 while(rs.next()) } /*添加数据*/ public static void addStu() throws Exception{ Connection con = getCon();//获得数据库连接对象 //向表中添加一行数据 Statement st = con.createStatement();//工具 执行sql //用户输入数据,把控制台输入的数据添加到数据库中 System.out.print("请输入学号:"); int sno = input.nextInt(); System.out.print("请输入java成绩:"); int sjava = input.nextInt(); System.out.print("请输入html成绩:"); int shtml = input.nextInt(); System.out.print("请输入sql成绩:"); int smysql = input.nextInt(); // String sql = "insert score values("+sno+","+sjava+","+smysql+")"; // %s %f %c %d 格式化字符串,变量列表 String sql = String.format("insert score values(%d,%d,%d,%d)",sno,sjava,shtml,smysql); int n = st.executeUpdate(sql);// 1 if(n>0){ System.out.println("添加成功"); }else{ System.out.println("添加失败"); } con.close(); } /*修改数据*/ private static void updateStu() throws Exception { Connection con = getCon(); Statement st = con.createStatement(); System.out.println("请输入学员的住址:"); String stuaddress = input.next(); String sql =String.format("UPDATE stu SET stuaddress = '%s' WHERE stuaddress ='%s'", stuaddress,"北京"); System.out.println(sql); int n = st.executeUpdate(sql); if(n>0){ System.out.println("修改成功"); }else{ System.out.println("修改失败"); } con.close(); } /*删除学员信息*/ private static void deleteStu() throws Exception { Connection con = getCon(); Statement st = con.createStatement(); System.out.println("请输入要删除学员的编号:"); int sid = input.nextInt(); String sql =String.format("DELETE FROM stu WHERE sid =%d", sid); System.out.println(sql); int n = st.executeUpdate(sql); if(n>0){ System.out.println("删除成功"); }else{ System.out.println("删除失败"); } con.close(); } public static void main(String[] args) throws Exception{ System.out.println("********学员管理系统菜单**********"); System.out.println("* 1.查询学员数据; "); System.out.println("* 2.添加学员成绩信息;"); System.out.println("* 3.修改学员信息;"); System.out.println("* 4.删除学员信息;"); System.out.println("*********************************"); Scanner input = new Scanner(System.in); int n = 0; System.out.print("---请输入选择:"); n = input.nextInt(); switch(n){ case 1:showStu();break; case 2:addStu();break; case 3: updateStu();break;//修改学员信息 case 4: deleteStu();break;//删除学员信息 default:System.out.println("选择错误!");break; } } }