gpt4 book ai didi

JDBC工具类实现登录功能

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 33 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章JDBC工具类实现登录功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例为大家分享了jdbc工具类实现登录功能的具体代码,供大家参考,具体内容如下 。

我们使用jdbc实现数据库的增删改查,代码基本差不多,有很多重复,所以我们可以把这些重复的代码写成一个工具类,使用的时候直接调用就可以了。下面以实现登录功能的案例来介绍.

创建数据库,插入数据 。

?
1
2
3
4
5
6
7
8
9
use student;
create table user(
  id int primary key auto_increment,
     username varchar( 32 ),
     password varchar( 32 )
);
 
insert into user values( null , 'zhangsan' , '123' );
insert into user values( null , 'lisi' , '234' );

jdbc.properties 。

?
1
2
3
4
url=jdbc:mysql: //localhost:3306/student
username=root
password=root
driver=com.mysql.jdbc.driver

jdbc工具类 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package cn.itcast.util;
 
import java.io.filereader;
import java.io.ioexception;
import java.net.url;
import java.sql.*;
import java.util.properties;
 
/**
  *   jdbc工具类
  **/
public class jdbcutils {
     private static string url;
     private static string username;
     private static string password;
     private static string driver;
     /**
      * 文件的读取,著需要读取一次即可拿到这些值,使用静态代码块
      **/
     static {
 
         try {
             //1、读取资源文件,获取值
             properties properties = new properties();
 
             //获取src路径下的文件的方式 ---> classloader类加载器
             classloader classloader = jdbcutils. class .getclassloader();
             url resource = classloader.getresource( "jdbc.properties" );
             string path = resource.getpath();
 
             //2、加载文件
             properties.load( new filereader(path));
             //3、获取数据,赋值
             url = properties.getproperty( "url" );
             username = properties.getproperty( "username" );
             password = properties.getproperty( "password" );
             driver = properties.getproperty( "driver" );
             //4、注册驱动
             class .forname(driver);
         } catch (ioexception e) {
             e.printstacktrace();
         } catch (classnotfoundexception e) {
             e.printstacktrace();
         }
     }
 
 
     /**
      * 获取连接
      * @return 连接对象
      */
     public static connection getconnection() throws sqlexception {
         return drivermanager.getconnection(url,username,password);
     }
 
     /**
      * 释放资源
      * @param statement
      * @param connection
      */
     public static void close(statement statement,connection connection) {
         if (statement != null ) {
             try {
                 statement.close();
             } catch (sqlexception e) {
                 e.printstacktrace();
             }
         }
         if (connection != null ) {
             try {
                 connection.close();
             } catch (sqlexception e) {
                 e.printstacktrace();
             }
         }
     }
 
     /**
      * 释放资源
      * @param resultset
      * @param statement
      * @param connection
      */
     public static void close(resultset resultset,statement statement, connection connection) {
         if (resultset != null ) {
             try {
                 resultset.close();
             } catch (sqlexception e) {
                 e.printstacktrace();
             }
         }
         if (statement != null ) {
             try {
                 statement.close();
             } catch (sqlexception e) {
                 e.printstacktrace();
             }
         }
         if (connection != null ) {
             try {
                 connection.close();
             } catch (sqlexception e) {
                 e.printstacktrace();
             }
         }
     }
}

实现登录功能 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package cn.itcast.jdbc;
 
import cn.itcast.util.jdbcutils;
 
import java.sql.*;
import java.util.scanner;
 
/**
  *  1、通过键盘录入用户名和密码
  *  2、判断用户是否登录成功
  */
public class jdbclogin {
 
     public static void main(string[] args) {
         //1、键盘录入,接收用户和密码
         scanner sc = new scanner(system.in);
         system.out.println( "请输入用户名:" );
         string username = sc.nextline();
         system.out.println( "请输入密码:" );
         string password = sc.nextline();
         //2、调用方法
         boolean flag = new jdbclogin().login(username,password);
         //3、判断
         if (flag) {
             system.out.println( "登录成功" );
         } else {
             system.out.println( "用户名或密码错误!" );
         }
     }
 
 
     /**
      * 登录方法
      */
 
     public boolean login(string username,string password) {
         if (username == null || password == null ) {
             return false ;
         }
         //连接数据库判断是否登陆成功
 
 
         connection connection = null ;
         preparedstatement preparedstatement = null ;
         resultset resultset = null ;
         try {
             //1、获取链接
             connection = jdbcutils.getconnection();
             //2、定义sql
             string sql = "select * from user where username = ? and password = ?" ;
             //3、获取执行sql的对象
             //为了防止sql注入,实现事务安全,效率更高,必须要用preparedstatement
             preparedstatement = connection.preparestatement(sql);
             //给?赋值
             preparedstatement.setstring( 1 ,username);
             preparedstatement.setstring( 2 ,password);
             //4、执行查询,不需要传递sql
             resultset = preparedstatement.executequery();
             //5、判断:如果是下一行,则返回true
             return resultset.next();
         } catch (sqlexception e) {
             e.printstacktrace();
         } finally {
             jdbcutils.close(resultset,preparedstatement,connection);
         }
         return false ;
     }
}

运行结果:

JDBC工具类实现登录功能

JDBC工具类实现登录功能

JDBC工具类实现登录功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://blog.csdn.net/weixin_44668898/article/details/107412660 。

最后此篇关于JDBC工具类实现登录功能的文章就讲到这里了,如果你想了解更多关于JDBC工具类实现登录功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com