JDBC工具类实现登录功能

2025-05-29 0 75

本文实例为大家分享了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工具类实现登录功能

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

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 JDBC工具类实现登录功能 https://www.kuaiidc.com/104026.html

相关文章

发表评论
暂无评论