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;

    }

}

Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用

时间: 2024-08-02 02:50:28

Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用的相关文章

Linux系统Java连接Mysql数据库

Linux系统下Java连接Mysql数据库方法与Windows下类似,具体步骤如下: 下载JDBC(驱动):mysql-connector-java-5.1.37.tar.gz 解压下载的数据包:tar -zxvf mysql-connector-java-5.1.37.tar.gz 解压后,mysql-connector-java-5.1.29-bin.jar位于mysql-connector-java-5.1.29目录下. 配置解压后,mysql-connector-java-5.1.29

Java连接MySQL数据库增删改查通用方法

Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类下面写好多方法,要是多个数据库,就要写多个类多个方法,导致代码编写太过于繁琐,所以为了改变这样的繁琐,我将连接数据库的方法进行了一系列的封装,使用户传入一个对象值Object就可以得到想要的. 我在之前写过一篇普通的Java连接MySQL数据库,大家可以看看,以便对比参考之后就知道差距了  数据库--MySQL-->Java篇 接下来我给大家讲讲如何将

Java进阶(二十五)Java连接mysql数据库(底层实现)

Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜索.特将之前使用的方法做一简单的总结.也能够在底层理解一下连接数据库的具体步骤. 实现 首先需要导入相关的jar包,我使用的为:mysql-connector-java-5.1.7-bin.jar. 下面来看一下我所使用的数据库连接方法类: MysqlUtil.java package cn.edu

转载:Java连接MySQL 数据库的正确操作流程

转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例),我们主要是以MySQL数据库为例讲下Java正确连接MySQL数据库的实际操作流程,以下就是对其详细内容的描述. 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC驱动MySQL-connector-java-5.0.5

Java连接MySQL数据库及简单操作代码

1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘,然后将其目录下的MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下: "我的电脑"-> "属性" -> "高级" -> "环境变量",在系统变量那里编辑clas

Java 连接 MySQL 数据库

下载 MySQL 数据库:http://dev.mysql.com/downloads/mysql/ ,解压到本地即可 下载 jar 包:http://dev.mysql.com/downloads/connector/j/ ,下载 zip 压缩包 创建数据库并插入若干数据: create table mydb; use mydb; create table student(name varchar(8), no char(7)); insert into student values('zha

java 连接MySql数据库

源代码如下: import java.sql.*; public class ConToMySQL {  public static void  main(String[] args) {   //这里"liuyan"是MySql下建立的一个测试数据库   //3306是MySql数据库服务的默认端口   String url="jdbc:mysql://localhost:3306/liuyan";   String userName = "root&q

JDBC Java 连接 MySQL 数据库

MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 用于测试的 MySQL 数据库:game 查看数据库中的表 mysql> SHOW TABLES; +----------------+ | Tables_in_game | +----------------+ | user | +----------------+ 1 row in set (0.00 sec) 查看表的定义 mysql> DESC user;

Java连接mysql数据库出现The server time zone value &#39;?й???????&#39; is unrecogni的解决

Mysql版本:8.0.17 在为MyBatis添加数据源配置时,在application.yml文件中添加了MySQL数据源连接信息. 运行代码生成类报错,The server time zone value '?й???????' is unrecognized or represents more than one time zone. 解决方法:在配置文件中的数据库url中添加serverTimezone=UTC参数即可解决. Java连接mysql数据库出现The server tim