PreparedStement 用户登录!

一、准备工作

  在qy66数据库下,新建一个denglu表。添加 name password  。

package cn.zhouzhou;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

/*
 * 目的? 实现用户登录。
 * 使用PreparedStatement 从控制台输入!
 * 
 *一、导包Scanner 实现控制台交互效果
 *
 *二、写入登录方法?
 *        1.login(name, password);
 *        2.调用工具类    Connection con01=Jdbc工具类.getConnection();
 *        3.编写SQL语句  未知内容使用 ? 占位符:
 *         4.获得PreparedStatement对象     PreparedStatement ps01=con01.prepareStatement(sql);
 *         5.setString(int parameterIndex, String x)     将指定的参数设置为给定的Java String值。
         6.执行sql语句        ResultSet rs01=ps01.executeQuery();
         7.判断输入是否正确?
         8.关闭资源
 * 
 */
public class Jdbc用户登录 {
    public static void main(String[] args) throws SQLException {
        
        Scanner sc01=new Scanner(System.in);            //1.控制台输入 姓名 密码
        
        System.out.println("输入用户名");
        String name=sc01.nextLine();
        
        System.out.println("输入密码");
        String password=sc01.nextLine();
        
        
        //登录的方法?
        login(name, password);
        
    }
    private static void login(String name,String password) throws SQLException{
        
        Connection con01=Jdbc工具类.getConnection();
        
        
        String sql="select * from denglu where name=? and password=?";    //编写SQL语句  未知内容使用 ? 占位符:
        
        PreparedStatement ps01=con01.prepareStatement(sql);
        
        ps01.setString(1, name);
        ps01.setString(2, password);
        
        ResultSet rs01=ps01.executeQuery();
        
        if (rs01.next()) {        //获得值 就显示登陆成功  否则就显示失败。
            System.out.println("登陆成功");
        } else {
            System.out.println("登录失败");
        }
        
        Jdbc工具类.close(rs01, ps01, con01);  //先开后关原则。
    
    }    
        
}
原文地址:https://www.cnblogs.com/ZXF6/p/10645820.html