题目1:编写一个应用程序,输入用户名和密码,访问test数据库中t_login表(字段包括id、username、password),验证登录是否成功。
代码:
Test.java
package cn; 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; public class Test { public static void main(String[] args) { Scanner reader=new Scanner(System.in); System.out.println("输入用户名和密码"); String username=reader.next(); String password=reader.next(); try { Class.forName("com.mysql.jdbc.Driver"); //加载驱动 try { Connection con=DriverManager.getConnection( //连接数据库 "jdbc:mysql://localhost:3306/t_login","root","0000"); PreparedStatement pre=con.prepareStatement( "select*from t1 where username=? and password=?"); //创建预处理语句对象 pre.setString(1, username); // pre.setString(2, password); ResultSet rs=pre.executeQuery(); //执行预处理语句 if(rs.next()){ System.out.println("登录成功"); }else{ System.out.println("登录失败"); } if(rs!=null){ rs.close(); } pre.close(); con.close(); //关闭数据库 } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
运行结果:
题目2:在上一题基础上,当登录成功后,将t_user表(id、name、sex、birthday)的信息进行显示(要求使用DB.java完成登录和获取t_user表中数据的操作),最后再对t_user表进行一条记录的添加操作。
代码
package cn; 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; public class Test { public static void main(String[] args) { Scanner reader=new Scanner(System.in); System.out.println("输入用户名和密码"); String username=reader.next(); String password=reader.next(); try { Class.forName("com.mysql.jdbc.Driver"); //加载驱动 try { Connection con=DriverManager.getConnection( //连接数据库 "jdbc:mysql://localhost:3306/t_login","root","0000"); PreparedStatement pre=con.prepareStatement( "select*from t1 where username=? and password=?"); //创建预处理语句对象 pre.setString(1, username); // pre.setString(2, password); ResultSet rs=pre.executeQuery(); //执行预处理语句 if(rs.next()){ System.out.println("登录成功"); }else{ System.out.println("登录失败"); } System.out.println("t_user表信息如下:"); rs=pre.executeQuery("select*from t_user"); //进行数据库查询,返回的结果集 while(rs.next()){ String name=rs.getString(2); //获取当前行中第二列的值 String sex=rs.getString(3); String birthday=rs.getString(4); System.out.println("姓名:"+name+"\n性别:"+sex+"\n生日:"+birthday); } System.out.println("输入添加信息"); String nName=reader.next(); String nSex=reader.next(); String nBirthday=reader.next(); pre=con.prepareStatement( "insert into t_user(name,sex,birthday) values(?,?,?)"); //增加 pre.setString(1, nName); pre.setString(2, nSex); pre.setString(3, nBirthday); int count =pre.executeUpdate(); //更新数据库,返回修改记录后的行数 if(count >0){ System.out.println("添加信息成功"); }else{ System.out.println("添加信息失败"); } if(rs!=null){ rs.close(); } pre.close(); con.close(); //关闭数据库 } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
运行结果