当前位置:网站首页>后台登录系统,JDBC连接数据库,做小案例练习
后台登录系统,JDBC连接数据库,做小案例练习
2022-07-06 09:24:00 【MSjan】
巩固自己的基础,以后学习框架学起来也可以称心应手一些,案例很简单,重要的是巩固自己的学习。
作为第一个类,把他们联系起来
package Web.JDBClogin;
import java.util.Scanner;
public class procedure {
public void gui() throws Exception {
Scanner scanner = new Scanner(System.in);
System.out.println("应用程序");
System.out.println("1.登录账号");
System.out.println("2.注册账号");
System.out.println("3.退出");
String serialnumber = scanner.nextLine();
switch (serialnumber) {
case "1":
new Login().login();
break;
case "2":
new Enroll().enroll();
break;
case "3":
System.out.println("退出成功 祝你 生活愉快!~ ");
break;
}
}
}
通过switch来实现登录方法,注册方法也同路理
package Web.JDBClogin;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;
/**
* 登录
*/
public class Login {
public void login() throws Exception {
Scanner sc = new Scanner(System.in);
System.out.println("请输入账号:");
String userName = sc.nextLine();
System.out.println("请输入密码:");
String password = sc.nextLine();
Connection connection1 = JdbcConnection.getCon();
String sql = "select * from tb_user where username=? and password=?";
PreparedStatement pst = connection1.prepareStatement(sql);
pst.setString(1, userName);
pst.setString(2, password);
ResultSet rs = pst.executeQuery();
if (rs.next()) {
System.out.println("恭喜" + userName + "登录成功");
} else {
System.out.println("账号或密码错误或不存在");
}
}
}
注册功能实现
package Web.JDBClogin;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.Scanner;
/**
* 注册
*/
public class Enroll {
public void enroll() throws Exception {
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入注册账号");
String Raa = sc1.nextLine();
System.out.println("请输入注册密码");
String Rp = sc1.nextLine();
Connection connection = JdbcConnection.getCon();
String sql = "insert into tb_user (username,password) values ( ? ,? )";
//执行sql
PreparedStatement pst = connection.prepareStatement(sql);
pst.setString(1, Raa);
pst.setString(2, Rp);
int exdate = pst.executeUpdate();
if (exdate != 0) {
System.out.println("注册成功");
System.out.println("重新登录.....");
new Login().login(); //注册成功 会再一次进行登录 代码完善
} else {
System.out.println("注册失败");
}
}
}
数据库连接
URL,username,password,手动填写,forName反射连接
package Web.JDBClogin;
import java.sql.*;
/**
* 数据库连接
*/
public class JdbcConnection {
private static final String url =
private static final String username = ;
private static final String password = ;
private static final String jdbcName = "com.mysql.jdbc.Driver";
static {
try {
Class.forName(jdbcName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getCon() {
Connection con;//作用域
try {
con = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
throw new RuntimeException(e);
}
return con;
}
public static void close(ResultSet rs, Statement st, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (st != null) {
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
main方法
procedure procedure = new procedure();
procedure.gui();
简单的登录系统案例就做完了。
点个赞呗。
边栏推荐
- On the idea of vulnerability discovery
- 内网渗透之内网信息收集(二)
- Constants, variables, and operators of SystemVerilog usage
- Detailed explanation of network foundation routing
- 我的第一篇博客
- 函数:计算字符串中大写字母的个数
- JDBC看这篇就够了
- JDBC事务、批处理以及连接池(超详细)
- Ucos-iii learning records (11) - task management
- Web vulnerability - File Inclusion Vulnerability of file operation
猜你喜欢
Get started with Matplotlib drawing
Statistics 8th Edition Jia Junping Chapter 3 after class exercises and answer summary
《统计学》第八版贾俊平第七章知识点总结及课后习题答案
Apache APIs IX has the risk of rewriting the x-real-ip header (cve-2022-24112)
“人生若只如初见”——RISC-V
Solutions to common problems in database development such as MySQL
关于交换a和b的值的四种方法
Attack and defense world misc practice area (GIF lift table ext3)
Hackmyvm target series (2) -warrior
Fundamentals of digital circuit (V) arithmetic operation circuit
随机推荐
Realize applet payment function with applet cloud development (including source code)
Based on authorized access, cross host, and permission allocation under sqlserver
我的第一篇博客
Intranet information collection of Intranet penetration (5)
“人生若只如初见”——RISC-V
Statistics 8th Edition Jia Junping Chapter 10 summary of knowledge points of analysis of variance and answers to exercises after class
The difference between layer 3 switch and router
函数:用牛顿迭代法求方程的根
JDBC read this article is enough
图书管理系统
【指针】求二维数组中最大元素的值
【指针】八进制转换为十进制
Always of SystemVerilog usage_ comb 、always_ iff
Build domain environment (win)
Captcha killer verification code identification plug-in
MySQL learning notes (stage 1)
Detailed explanation of network foundation routing
Matplotlib绘图快速入门
How does SQLite count the data that meets another condition under the data that has been classified once
指针:最大值、最小值和平均值