欢迎光临散文网 会员登陆 & 注册

Java(改进):用JDBC和DBUtils做出注册,登录,找回密码的功能【诗书画唱】

2020-05-25 20:44 作者:诗书画唱  | 我要投稿

用JDBC和DBUtils实现以下功能:1.登录  2.注册   3.找回密码4.退出


SQL部分:



select *from yonghu


drop table yonghu



create table yonghu(

 yh_ID int primary key identity(1,1),


 yh_Uname varchar(30) not null,


  yh_Pwd varchar(30) not null,

 yh_Name varchar(30) not null,

  yh_Age int,

 yh_Sex varchar(20),

 yh_Phone varchar(100),

 yh_Address varchar(200),

  yh_jieShao varchar(500),

 yh_Q varchar(500),

 yh_A varchar(500),

yh_type nvarchar(20) check(yh_type='普通用户' or yh_type='管理员用户'),

);


insert into yonghu values('1','11','诗书画唱1',21,'男','19999999999','江西','阳光帅气的男孩子','你爱好多吗?','多','普通用户');

insert into yonghu values('2','22','诗书画唱2',22,'男','29999999999','北京','阳光帅气的男孩子','你看过的书多吗?','多','普通用户');

insert into yonghu values('3','33','诗书画唱3',23,'男','39999999999','上海','阳光帅气的男孩子','你会的技能多吗?','多','普通用户');

insert into yonghu values('4','44','诗书画唱4',24,'男','49999999999','湖南','阳光帅气的男孩子','你喜欢的动漫吗?','多','普通用户');

insert into yonghu values('5','55','诗书画唱5',25,'男','59999999999','浙江','阳光帅气的男孩子','你喜欢的歌曲多吗?','多','管理员用户');

Java部分:


package JdbcDBUtils;

import java.sql.*;

public class DBUtils {

static Connection con=null;

static Statement sta=null;

static ResultSet res=null;

//在静态代码块中执行

static{

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//封装链接数据库的方法

public static Connection getCon(){

if(con==null){

try {

con=DriverManager.getConnection

("jdbc:sqlserver://localhost;databaseName=yonghu","sa","1234abcd");

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return con;

}

//查询的方法

public static ResultSet getSelect(String sql){

con=getCon();//建立数据库链接

try {

sta=con.createStatement();

res=sta.executeQuery(sql);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return res;

}

//增删改查的方法

// 返回int类型的数据

public static boolean isZSG(String sql){

con=getCon();//建立数据库链接

boolean b=false;

try {

sta=con.createStatement();

int num=sta.executeUpdate(sql);

//0就是没有执行成功,大于0 就成功了

if(num>0){

b=true;

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return b;

}

}

package JdbcDBUtils;


public class yonghu {




private String yh_Address;


private int yh_Age;


private int yh_ID;

private String yh_Jieshao;


private String yh_Name;


private String yh_Phone;


private String yh_Pwd;


private String yh_Sex;


private String yh_Uname;


private String yh_Q;

private String yh_A;

private String yh_type;

public yonghu(){}

//public yh(){}为默认的构造方法

public String getYh_Address() {

return yh_Address;

}

public void setYh_Address(String yh_Address) {

this.yh_Address = yh_Address;

}

public int getYh_Age() {

return yh_Age;

}

public void setYh_Age(int yh_Age) {

this.yh_Age = yh_Age;

}

public int getYh_ID() {

return yh_ID;

}

public void setYh_ID(int yh_ID) {

this.yh_ID = yh_ID;

}


public String getYh_Jieshao() {

return yh_Jieshao;

}

public void setYh_Jieshao(String yh_Jieshao) {

this.yh_Jieshao = yh_Jieshao;

}

public String getYh_Name() {

return yh_Name;

}

public void setYh_Name(String yh_Name) {

this.yh_Name = yh_Name;

}

public String getYh_Phone() {

return yh_Phone;

}

public void setYh_Phone(String yh_Phone) {

this.yh_Phone = yh_Phone;

}

public String getYh_Pwd() {

return yh_Pwd;

}

public void setYh_Pwd(String yh_Pwd) {

this.yh_Pwd = yh_Pwd;

}

public String getYh_Sex() {

return yh_Sex;

}

public void setYh_Sex(String yh_Sex) {

this.yh_Sex = yh_Sex;

}

public String getYh_Uname() {

return yh_Uname;

}

public void setYh_Uname(String yh_Uname) {

this.yh_Uname = yh_Uname;

}

public String getYh_Q() {

return yh_Q;

}

public void setYh_Q(String yh_Q) {

this.yh_Q = yh_Q;

}

public String getYh_A() {

return yh_A;

}

public void setYh_A(String yh_A) {

this.yh_A = yh_A;

}

public String getYh_type() {

return yh_type;

}

public void setYh_type(String yh_type) {

this.yh_type = yh_type;

}

public yonghu(String yh_Address, int yh_Age, 

int yh_ID, String yh_Jieshao,

String yh_Name, String yh_Phone, 

String yh_Pwd, String yh_Sex,

String yh_Uname, String yh_Q, 

String yh_A, String yh_type) {

// super();

this.yh_Address = yh_Address;

this.yh_Age = yh_Age;

this.yh_ID = yh_ID;

this.yh_Jieshao = yh_Jieshao;

this.yh_Name = yh_Name;

this.yh_Phone = yh_Phone;

this.yh_Pwd = yh_Pwd;

this.yh_Sex = yh_Sex;

this.yh_Uname = yh_Uname;

this.yh_Q = yh_Q;

this.yh_A = yh_A;

this.yh_type = yh_type;

}

@Override

public String toString() {

return "yh [yh_Address=" + yh_Address + 

", yh_Age=" + yh_Age + ", yh_ID="

+ yh_ID + ", yh_Jieshao=" + yh_Jieshao 

+ ", yh_Name=" + yh_Name

+ ", yh_Phone=" + yh_Phone + ", yh_Pwd="

+ yh_Pwd + ", yh_Sex="

+ yh_Sex + ", yh_Uname=" + yh_Uname

+ ", yh_Q=" + yh_Q + ", yh_A="

+ yh_A + ", yh_type=" + yh_type + "]";

}

}




package JdbcDBUtils;

import java.sql.Connection;


import java.sql.DriverManager;


import java.sql.ResultSet;


import java.sql.SQLException;


import java.sql.Statement;


import java.util.Random;


import java.util.Scanner;

public class zhuCeDengLu {


public static Scanner s = new Scanner(System.in);


static yonghu yh = new yonghu();


public static void main(String[] args) 

throws Exception {


boolean b = true;


while (b) {


System.out.println

("--------欢迎使用诗书画唱商品管理系统--------");


System.out.println(" ------请输入你要执行的操作--------");


System.out.println("1.登录2.注册 3.找回密码4.退出系统");


int num = s.nextInt();


if (num == 1) {


System.out.println("------执行登录功能-----");


System.out.println("请输入你的用户名");


String uname = s.next();


System.out.println("请输入你的密码");


String pwd = s.next();


boolean bb = true;


while (bb) {


System.out.println("请输入验证码");


Random r = new Random();


int num_yanzhengma_bianhao = r.nextInt(9000) + 1000;


System.out.println(num_yanzhengma_bianhao);


int num_yanzhengma = s.nextInt();




if (num_yanzhengma_bianhao == num_yanzhengma) {




System.out.println("验证码输入正确");


bb = false;


} else {


System.out.println("验证码输入错误");




}


}


String sql = "select * from yonghu where yh_Uname= '" 

+ uname


+ "' and yh_Pwd='" + pwd + "'";


ResultSet res = DBUtils.getSelect(sql);


if (res.next()) {


System.out.println("登录成功");


yh.setYh_ID(res.getInt("yh_ID"));


yh.setYh_Uname(res.getString("yh_Uname"));


yh.setYh_Pwd(res.getString("yh_Pwd"));


yh.setYh_Name(res.getString("yh_Name"));


yh.setYh_Age(res.getInt("yh_Age"));


yh.setYh_Sex(res.getString("yh_Sex"));


yh.setYh_Phone(res.getString("yh_Phone"));


yh.setYh_Address(res.getString("yh_Address"));


yh.setYh_Jieshao(res.getString("yh_JieShao"));

yh.setYh_Q(res.getString("Yh_Q"));

yh.setYh_A(res.getString("Yh_A"));

yh.setYh_type(res.getString("Yh_type"));


b = false;


} else {


System.out.println("用户名或密码输入错误,请重试!");


}


}


else if (num == 2) {


System.out.println("---------执行注册功能--------");

System.out.println("请输入你的用户名");


String uname = s.next();


System.out.println("请输入你的用户密码");


String pwd = s.next();


System.out.println("请输入你的真实姓名");


String name = s.next();


System.out.println("请输入你的年龄");


int age = s.nextInt();


System.out.println("请输入你的性别");


String sex = s.next();


System.out.println("请输入你的手机号");


String phone = s.next();


System.out.println("请输入你的地址");


String address = s.next();


System.out.println("请输入你的个人介绍");


String jieshao = s.next();

System.out.println("请输入你的问题");


String wenTi = s.next();

System.out.println("请输入你的答案");


String daAn = s.next();

System.out.println("请输入你的用户类型");


String yonghuLeiXing = s.next();


String sql = "insert into yonghu values('" + uname


+ "'" + ", '" + pwd + "',' " + name + "', " + age


+ " , '" + sex + "' ," + "'" + phone + "'," + "'"


+ address + "'" + "," + "'" + jieshao + "','"+wenTi+ 

"','"+daAn + "','"+

yonghuLeiXing+"')";


if (DBUtils.isZSG(sql)) {


System.out.println("注册成功");


} else {




System.out.println("注册失败,请重试");


}



else if (num == 3) {


System.out.println("执行找回密码功能");

System.out.println("请输入你要找回用户的用户名");

String name=s.next();


String sql="select * from yonghu where yh_Uname="

+ "'"+name+"'";

ResultSet res=DBUtils.getSelect(sql);

if(res.next()){


String wenti=res.getString("yh_Q");

System.out.println("你的问题是");

System.out.println(wenti);

System.out.println("请输入你的问题答案");

String daan=s.next();

String sql2="select * from yonghu where yh_Uname='"

+name+"' "

+ "and yh_Q='"+wenti+"' and yh_A='"

+daan+"'";

ResultSet res2=DBUtils.getSelect(sql2);

if(res2.next()){

System.out.println("请输入你的新密码");

String new_pwd=s.next();

String sql3="update yonghu set yh_pwd='"

+new_pwd+"' where yh_uname='"+name+"'";

if(DBUtils.isZSG(sql3)){

System.out.println("密码修改成功");

}else{

System.out.println("出现了未知的错误。请重试");

}


}

}




else if (num == 4) {




System.exit(0);


} else {




System.out.println("内容输入错误!");


}


}


System.out.println("欢迎你来到诗书画唱商店,尊敬的用户" + 

yh.getYh_Uname()


+ ",请关注和点赞!拜托了!这对我很重要啊!");


}


}


Java(改进):用JDBC和DBUtils做出注册,登录,找回密码的功能【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律