zoukankan      html  css  js  c++  java
  • Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用

    //方法一,可以验证登录,但方法不实用。
    package
    com.swift; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class LoginJDBC { public static void main(String[] args) { User userZhangsan=new User("swift","123456"); if(login(userZhangsan)) { System.out.println("登陆成功"); }else { System.out.println("登陆失败"); } } private static boolean login(User userZhangsan) { Connection conn=null; Statement st=null; ResultSet rs=null; try { //1、装载驱动 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { //2、链接数据库,使用com.mysql.jdbc.Connection包会出错 List<User> list=new ArrayList<User>(); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sw_database?user=root&password=root"); //3、创建连接语句 st=conn.createStatement(); //4、执行SQL语句获得结果集 rs=st.executeQuery("select * from sw_user"); //5、循环获得数据库字段生成对象 //这种方法登录要把数据库数据都拿过来和login中数据比较,超级浪费资源 while(rs.next()) { String username=rs.getString("username"); String password=rs.getString("password"); if(username.equals(userZhangsan.getUsername())&&password.equals(userZhangsan.getPassword())) { return true; }else { return false; } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //关闭结果集 try { if(rs!=null) { rs.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //关闭连接语句 try { if(st!=null) { st.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //关闭数据库连接 try { if(conn!=null) { conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return false; } }

    方法二 使用数据库查询语句 select * from sw_user where username='swift' and password='123456'

    在Java程序中注意单引号''是不可缺少的,它是sql语句自带部分,双引号是Java的字符串连接符,所以要了解"" ''各自的作用

    package com.swift;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    public class LoginJDBC2 {
    
        public static void main(String[] args) {
            User userZhangsan=new User("zhangsan","123456");
            if(login(userZhangsan)) {
                System.out.println("登陆成功");
            }else {
                System.out.println("登陆失败");
            }
        }
    
        private static boolean login(User userZhangsan) {
            
            Connection conn=null;
            Statement st=null;
            ResultSet rs=null;
            try {
                //1、装载驱动
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            try {
                //2、链接数据库,使用com.mysql.jdbc.Connection包会出错
                List<User> list=new ArrayList<User>();
                conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sw_database?user=root&password=root");
                //3、创建连接语句
                st=conn.createStatement();
                //4、执行SQL语句获得结果集
                rs=st.executeQuery("select * from sw_user where username='"+userZhangsan.getUsername()+"' and password='"+userZhangsan.getPassword()+"'");
                //5、循环获得数据库字段生成对象
                //这种方法登录要把数据库数据都拿过来和login中数据比较,超级浪费资源
                if(rs.next()) {
                    return true;
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                //关闭结果集
                try {
                    if(rs!=null) {
                       rs.close();
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                //关闭连接语句
                try {
                    if(st!=null) {
                       st.close();
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                //关闭数据库连接
                try {
                    if(conn!=null) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return false;
            
            
        }
    
    }
  • 相关阅读:
    MQTT Client软件-MQTTBox
    Eclipse
    Ant + ivy的安装
    常用消息中间件比较
    各种MQTT server功能比較
    消息中间件的对比
    RabbitMQ Performance Testing Tool 性能测试工具
    Eureka 简介
    win10 localhost 解析为::1 的解决办法
    JSP中过滤器的设置
  • 原文地址:https://www.cnblogs.com/qingyundian/p/7565336.html
Copyright © 2011-2022 走看看