数据库操作实例:用户管理
JDBC用户管理
1.设计数据库和实体类;
数据库表:user(id,uname,password)
实体类:User
2.实现用户登录;
用户输入用户名密码后到数据库查询判断登录是否成功。
3.实现用户注册;
用户输入用户名密码,数据库添加对应数据。
用户名不允许和已有用户名重复。
4.实现用户注销;
用户输入用户名,删除用户。
删除前需要检查是否存在这个用户,如果存在,需要验证密码。
创建一个 user 数据表,有 username,password
每个数据库表都对应一个实体类
user 实体类 pojo
package cn.xtnotes.pojo;
public class User {
private int id;
private String username;
private String password;
public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
服务类 service
package cn.xtnotes.service;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import cn.xtnotes.util.GetConnetion;
public class Service {
//登录
public static String login (String uname,String pwd) throws Exception{
String msg="登录失败";
String sql="select * from user where username='"+uname+"' and password='"+pwd+"'";
Connection conn=GetConnetion.getConn();
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()) {
msg="登录成功";
}
conn.close();
stmt.close();
return msg;
}
//注册
public static String register(String uname,String pwd) throws SQLException {
String msg="失败";
if("存在".equals(finduname(uname))) {
msg="注册失败,用户名已存在。";
}else {
String sql="insert into user(username,password) values('"+uname+"','"+pwd+"')";
Connection conn=GetConnetion.getConn();
Statement stmt=conn.createStatement();
int i=stmt.executeUpdate(sql); //执行sql并返回受影响的数据条数
if(i>0) {
msg="注册成功";
}else {
msg="sql错误,注册失败";
}
conn.close();
stmt.close();
}
return msg;
}
//判断用户名是否存在
public static String finduname(String uname) throws SQLException {
String msg="不存在";
String sql="select * from user where username='"+uname+"'";
Connection conn=GetConnetion.getConn();
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()) {
msg="存在";
}
conn.close();
stmt.close();
return msg;
}
//注销
public static String out(String uname,String pwd) throws Exception {
String msg="注销失败";
if("不存在".equals(finduname(uname))) {
msg="用户名不存在";
}else {
if("登录成功".equals(login(uname,pwd))) {
String sql="delete from user where username='"+uname+"'";
Connection conn=GetConnetion.getConn();
Statement stmt=conn.createStatement();
int i=stmt.executeUpdate(sql); //执行sql并返回受影响的数据条数
if(i>0) {
msg="注销成功";
}else {
msg="sql错误,注销失败";
}
conn.close();
stmt.close();
}
}
return msg;
}
}
公共链接类
package cn.xtnotes.util;
import java.sql.Connection;
import java.sql.DriverManager;
public class GetConnetion {
private static String address="jdbc:mysql://localhost:3306/data2?useSSL=false&serverTimezone=UTC";
private static String dataBaseName="root";
private static String dataBasePwd="123456";
public static Connection getConn() {
Connection conn =null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(address,dataBaseName,dataBasePwd);
} catch (Exception e) {
System.out.println("链接失败");
e.printStackTrace();
}
return conn;
}
}
text类
package cn.xtnotes.text;
import java.util.Scanner;
import cn.xtnotes.service.Service;
public class Text {
public static void login1() throws Exception {
Scanner s=new Scanner(System.in);
System.out.println("请输入用户名:");
String uname=s.next();
System.out.println("请输入密码:");
String pwd=s.next();
String i=Service.login(uname, pwd);
System.out.println(i);
}
public static void reg() throws Exception {
Scanner s=new Scanner(System.in);
System.out.println("请输入用户名:");
String uname=s.next();
System.out.println("请输入密码:");
String pwd=s.next();
String i=Service.register(uname, pwd);
System.out.println(i);
}
public static void out() throws Exception {
Scanner s=new Scanner(System.in);
System.out.println("请输入用户名:");
String uname=s.next();
System.out.println("请输入密码:");
String pwd=s.next();
String i=Service.out(uname, pwd);
System.out.println(i);
}
public static void main(String[] args) throws Exception {
Scanner s=new Scanner(System.in);
System.out.println("1.登录");
System.out.println("2.注册");
System.out.println("3.注销");
System.out.println("选择序号:");
int c=s.nextInt();
if(c==1) {
login1();
}else if(c==2){
reg();
}
else if(c==3){
out();
}
}
}
本程序 jdbc 用户管理
实现对数据库的增删改查
即 对用户的登陆,注册,注销
阅读剩余
版权声明:
作者:Tin
链接:http://www.tinstu.com/435.html
文章版权归作者所有,未经允许请勿转载。
THE END