使用PreparedStatement实现查询操作系列一-----用户登录操作

使用PreparedStatement实现查询操作系列一-----用户登录操作

    PreparedStatement是Statement的子接口,可以用于防止SQL注入。下面展示了如何使用PreparedStatement实现查询操作,并将其应用在“登录”操作上

   在演示此程序之前,当然得需要在MySql可视化管理工具Navciat建立相应的数据库与数据库表。

   另外,本程序在刚开始获取链接MySql的连接对象Connection时候采用了上一篇博客的代码:JDBC链接MySql

    下面是是代码:

package jdbcPrograms;

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

import commonDBConnection.ConnectToDataBase;

public class JDBCQueryDataFromDataBase {
/*
 * 查询数据:登录
 */
	public static void main(String[] args) {
		
		String userName="admin";
		String userPwd="admin2";
	 
		PreparedStatement preparedStatement=null;
		String sqlQueryLogin="SELECT * from tb_loginuser WHERE userName=? AND userPwd=?";
		
		Connection connection=ConnectToDataBase.getDataBaseConnection();
		try {
			preparedStatement=connection.prepareStatement(sqlQueryLogin);
			
			preparedStatement.setString(1, userName);
			preparedStatement.setString(2, userPwd);
			
		} catch (SQLException e) {
			System.out.println("创建数据库语句异常: "+e.getMessage());
		}
		
		ResultSet rs=null;
		
		try {
			rs=preparedStatement.executeQuery();
		} catch (SQLException e) {
			System.out.println("查询数据库语句异常: "+e.getMessage());
		}
		 
		try {
			if (rs.next()) {
				System.out.println("\n\n--用户名与密码都正确,登录......--\n\n");
			}else{
				System.out.println("\n\n--用户名与密码不错,请重新登录......--\n\n");
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			try {
				preparedStatement.close();
			} catch (SQLException e) {
				System.out.println("关闭查询语句异常: "+e.getMessage());
			}
			try {
				connection.close();
			} catch (SQLException e) {
				System.out.println("关闭数据库链接异常: "+e.getMessage());
			}
		}
		
	}
}
    上述代码中:
Connection connection=ConnectToDataBase.getDataBaseConnection();
     即调用了上篇博客所写的链接MySql的封装代码。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

修罗debug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值