十五次作业

题目1:编写一个应用程序,输入用户名和密码,访问test数据库中t_login表(字段包括id、username、password),验证登录是否成功。

题目2:在上一题基础上,当登录成功后,将t_user表(id、name、sex、birthday)的信息进行显示(要求使用DB.java完成登录和获取t_user表中数据的操作),最后再对t_user表进行一条记录的添加操作。

 

 1 package shiwuzuoye;
 2 import java.sql.ResultSet;
 3 import java.sql.SQLException;
 4 import java.util.*;
 5 
 6 public class zhu {
 7 
 8     public static void main(String[] args) {
 9         Scanner r =new Scanner(System.in);
10         System.out.println("请输入用户名,密码");
11          String username=r.next();
12          String password=r.next();
13          Object [] a={username,password};
14          DB d=DB.getInstance();
15          String sql = "select * from tlogin where username=? and password=?";
16         
17      
18          ResultSet rs=d.executeSelect(sql,a);
19          try {
20             if(rs.next()){
21                   System.out.println("登录成功\r");
22                   String user="select * from tuser";
23                   System.out.println("显示tuser表");
24                   ResultSet usertable=d.executeSelect(user,args);
25                   System.out.println("id\t"+"name\t"+"sex\t"+"birthday\t");
26                     while(usertable.next()){
27                         int id=usertable.getInt(1);
28                         String name=usertable.getString(2);
29                         String sex="女";
30                         int temp=usertable.getInt(3);
31                         if(temp==1){
32                             sex="男";
33                         }
34                         
35                         String birthday=usertable.getString(4);
36                         System.out.println(id+"\t"+name+"\t"+sex+"\t"+birthday+"\t");
37                     }
38                     
39                     System.out.println("添加新记录:");
40                     String name=r.next();
41                     int sex=r.nextInt();//0代表女,1代表男
42                     String birthday=r.next();
43                     String insert="insert into tuser(name,sex,birthday) values(? , ?, ?)";
44                     Object[] in={name,sex,birthday};
45                     int n=d.executeModify(insert, in);
46                     if(n>0){
47                         System.out.println("添加成功");
48                     }
49                         
50                     else
51                         System.out.println("添加失败");
52                  
53              }
54              else
55                     System.out.println("登录失败");
56             
57         } catch (SQLException e) {
58             e.printStackTrace();
59         }
60         finally{
61             d.close();
62         }
63 
64     }
65 
66 }
 1 package shiwuzuoye;
 2 import java.sql.Connection;
 3 import java.sql.DriverManager;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 
 8 
 9 public class DB {
10 private Connection con;
11 private PreparedStatement pre;
12 private ResultSet rs;
13 private static DB db;
14 
15 static{
16     try {
17         Class.forName("com.mysql.jdbc.Driver");
18     } catch (ClassNotFoundException e) {
19         e.printStackTrace();
20     }
21 }
22 
23 private DB(){
24     try {
25         con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
26     } catch (SQLException e) {
27         e.printStackTrace();
28     }
29 }
30 
31 public static DB getInstance(){
32     if(db==null){
33          db=new DB();
34     }
35     return db;
36 }
37 
38 public ResultSet executeSelect(String sql,Object[]args){
39     try {
40         pre=con.prepareStatement(sql);
41         if(args.length!=0){
42             for(int i=0;i<args.length;i++){
43                 pre.setObject(i+1, args[i]);
44             }
45         }
46         rs=pre.executeQuery();
47     } catch (SQLException e) {
48                 e.printStackTrace();
49     }
50     return rs;
51 }
52 
53 public int executeModify(String sql,Object []args){
54     int n=0;
55     try {
56         pre=con.prepareStatement(sql);
57         if(args.length!=0){
58             for(int i=0;i<args.length;i++){
59                 pre.setObject(i+1, args[i]);
60             }
61         }
62         n=pre.executeUpdate();
63     } catch (SQLException e) {
64         e.printStackTrace();
65     }
66     return n;
67 }
68 
69 public void close(){
70     try {
71         if(rs!=null){
72         rs.close();}
73         pre.close();
74         con.close();
75     } catch (SQLException e) {
76         e.printStackTrace();
77     }
78 }
79 
80 
81 }

posted @ 2019-12-15 21:38  wangyd  阅读(134)  评论(0编辑  收藏  举报