第十五周作业

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

源代码:

 1 package Login;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 import java.sql.Statement;
 7 import java.sql.ResultSet;
 8 import java.util.Scanner;
 9 
10 public class Demo1 {
11     public static void main(String[] args) {
12         System.out.println("请输入用户名:");
13         Scanner reader1=new Scanner(System.in);
14         String name=reader1.nextLine();
15         System.out.println("请输入密码:");
16         Scanner reader2=new Scanner(System.in);
17         String word=reader2.nextLine();
18         Connection con=null;
19         Statement st=null;
20         ResultSet rs=null;
21         try {
22                 Class.forName("com.mysql.jdbc.Driver");  // 加载JDBC驱动程序
23                 con=DriverManager.getConnection("jdbc:mysql://localhost:3306/database1",
24                                                 "root",""); //建立与数据库的连接
25                 st=con.createStatement();  //创建一个执行SQL语句的对象
26                 String sql="select * from t_login where username='"+name+"'and password='"+word+"'";  //SQL语句
27                 rs=st.executeQuery(sql); //查询语句
28                 if(rs.next())
29                 {
30                     System.out.println("登录成功!");
31                 }
32                 else
33                 {
34                     System.out.println("登录失败!");
35                 }
36         } catch (ClassNotFoundException e) {
37             e.printStackTrace();
38         } catch (SQLException e) {
39             e.printStackTrace();
40         }
41         finally
42         {
43             try {
44                 st.close();   //依次关闭数据库连接
45                 con.close(); 
46             } catch (SQLException e) {
47                 e.printStackTrace();
48             }            
49         }
50     }
51 }

运行截图:

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

源代码:

DB.java

 1 package Login;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6 import java.sql.SQLException;
 7 import java.sql.ResultSet;
 8 
 9 
10 public class DB {
11 
12     private Connection con;
13     private PreparedStatement pre;
14     private ResultSet rs;
15     private static DB db;
16     
17     static
18     {
19          try {
20            Class.forName("com.mysql.jdbc.Driver");
21         } 
22          catch (ClassNotFoundException e) {
23           e.printStackTrace();
24         }
25     }
26     private DB()
27     {
28         try {
29             con=DriverManager.getConnection("jdbc:mysql://localhost:3306/database1", "root","");
30         } catch (SQLException e) {
31             e.printStackTrace();
32         }
33         
34     }
35     public static DB getInstance() {
36         if(db==null)
37             db=new DB();
38          return db;
39     }
40      public ResultSet executeSelect(String sql,Object[] args){
41         try {
42             pre=con.prepareStatement(sql);
43             if(args.length!=0)
44             {
45                 for(int i=0;i<args.length;i++)
46                 {
47                     pre.setObject(i+1, args[i]);
48                 }
49             }
50             rs=pre.executeQuery();
51         } catch (SQLException e) {
52             e.printStackTrace();
53         }
54         return rs;
55     }
56      public int executeModify(String sql,Object[] args)
57      {
58          int n=0;
59          try {
60              pre=con.prepareStatement(sql);
61              if(args.length!=0)
62              {
63                 for(int i=0;i<args.length;i++)
64                 {
65                     pre.setObject(i+1, args[i]);
66                 }
67              }
68              n=pre.executeUpdate();
69         } catch (SQLException e) {
70             e.printStackTrace();
71         }
72         return n;
73      }
74      public void close(){
75             try {
76                  if(rs!=null)
77                     rs.close();
78                  pre.close();
79                  con.close();
80             } catch (SQLException e) {
81                 e.printStackTrace();
82             }
83          
84      }
85     
86 }

Demo2.java

 1 package Login;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8 import java.util.Scanner;
 9 
10 public class Demo2 {
11     public static void main(String[] args) {
12         System.out.println("请输入用户名:");
13         Scanner reader1=new Scanner(System.in);
14         String name=reader1.nextLine();
15         System.out.println("请输入密码:");
16         Scanner reader2=new Scanner(System.in);
17         String word=reader2.nextLine();
18         Connection con=null;
19         Statement st=null;
20         ResultSet rs=null;
21         try {
22                 Class.forName("com.mysql.jdbc.Driver");  // 加载JDBC驱动程序
23                 con=DriverManager.getConnection("jdbc:mysql://localhost:3306/database1",
24                                                 "root",""); //建立与数据库的连接
25                 st=con.createStatement();  //创建一个执行SQL语句的对象
26                 String sql="select * from t_login where username='"+name+"'and password='"+word+"'";  //SQL语句
27                 rs=st.executeQuery(sql); //查询语句
28                 if(rs.next())
29                 {
30                     System.out.println("登录成功!");
31                     System.out.println("****************显示信息****************");
32                     rs=DB.getInstance().executeSelect("select * from t_user", args);            
33                     while(rs.next()){    
34                         System.out.println("姓名:"+rs.getString(2)+"  性别:"+rs.getString(3)+"  生日:"+rs.getString(4));    
35                     }
36                     System.out.println("****************添加信息***************");
37                     System.out.println("请输入姓名:");
38                     Scanner reader=new Scanner(System.in);
39                     String name1=reader.nextLine();
40                     System.out.println("请输入性别:");
41                     String sex=reader.nextLine();  
42                     System.out.println("请输入出生日期:");
43                     String birthday =reader.nextLine();
44                     String newsql="insert into t_user (name,sex,birthday) values ('"+name1+"','"+sex+"','"+birthday+"')";
45 
46                     int n=DB.getInstance().executeModify(newsql, args);
47                     if(n>0){
48                         System.out.println("添加成功");
49 
50                     }else{
51                         System.out.println("添加失败");
52 
53                     }
54                 }
55                 else
56                 {
57                    System.out.println("登录失败");
58 
59                 }
60 
61          } catch (ClassNotFoundException e) {
62             e.printStackTrace();
63          } catch (SQLException e) {
64             e.printStackTrace();
65          }
66          finally
67          {
68             try {
69                 st.close();   //依次关闭数据库连接
70                 con.close(); 
71             } catch (SQLException e) {
72                 e.printStackTrace();
73             }
74         }
75     }
76 }

运行截图: 

     

posted @ 2019-12-15 00:11  jie130  阅读(252)  评论(0编辑  收藏  举报