java 修改mysql密码_java记录之数据库操作编写程序实现用户登录、注册、修改密码...

packagemytest;public classLogin {boolean success = false;

String id;

String password;public voidsetID(String string) {this.id =string;

}public voidsetPassword(String password) {this.password =password;

}publicString getID() {returnid;

}publicString getPassword() {returnpassword;

}public void setSuccess(booleansuccess) {this.success =success;

}public booleangetSuccess() {returnsuccess;

}

}packagemytest;public classChange {boolean success = false;

String id;

String password;public voidsetID(String string) {this.id =string;

}public voidsetPassword(String password) {this.password =password;

}publicString getID() {returnid;

}publicString getPassword() {returnpassword;

}public void setSuccess(booleansuccess) {this.success =success;

}public booleangetSuccess() {returnsuccess;

}

}packagemytest;public classRegister {

String id;

String password;

String email;

String sex;

String name;

String birth;public voidsetID(String string) {this.id =string;

}public voidsetPassword(String password) {this.password =password;

}public voidsetSex(String sex) {this.sex =sex;

}public voidsetEmail(String email) {this.email =email;

}public voidsetBirth(String birth) {this.birth =birth;

}public voidsetName(String name) {this.name =name;

}publicString getName() {returnname;

}publicString getID() {returnid;

}publicString getPassword() {returnpassword;

}publicString getSex() {returnsex;

}publicString getEmail() {returnemail;

}publicString getBirth() {returnbirth;

}

}packagemytest;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JFrame;import mytest.*;importmytest.Login;importmytest.Register;public class RegAndLog extendsJFrame {

RLview rl;

RegAndLog(){

setBounds(100,100,800,260);

rl= newRLview();

add(rl);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setVisible(true);

}public static voidmain(String args[]) {

RegAndLog window= newRegAndLog();

window.setTitle("登录");

}

}packagemytest;import java.awt.*;import javax.swing.*;importmytest.Register;import java.awt.event.*;public class RegisterView extends JPanel implementsActionListener, ItemListener{

Register register;

JTextField id,name,email,password1,password2;

JComboBox sex,year,month,day;int[] DAY={31,28,31,30,31,30,31,31,30,31,30,31};

JButton reg,esc;

RegisterView(){

register= newRegister();

id= new JTextField(15);

name=new JTextField(15);

email=new JTextField(15);

password1= new JTextField(15);

password2=new JTextField(15);

reg= new JButton("注册");

esc= new JButton("退出");

add(new JLabel("账号:"));

add(id);

add(new JLabel("姓名:"));

add(name);

add(new JLabel("性别"));

sex= newJComboBox();

sex.addItem("male");

sex.addItem("female");

add(sex);

year=newJComboBox();

month=newJComboBox();

day=newJComboBox();

add(new JLabel("出生日期"));for(int i=1910;i<2021;i++) {

year.addItem(i);

}

add(year);

add(new JLabel("年"));for(int i=1;i<13;i++) {

month.addItem(i);

month.addItemListener(this);

}

add(month);

add(new JLabel("月"));

add(day);

add(new JLabel("日"));//add(new JLabel("Email"));

add(new JLabel(“email:"));

add(email);

add(new JLabel("密码:"));

add(password1);

add(new JLabel("确认密码"));

add(password2);

add(reg);

add(esc);

reg.addActionListener(this);

esc.addActionListener(this);

}

@Overridepublic voidactionPerformed(ActionEvent e) {//TODO Auto-generated method stub

if(e.getSource()==esc) {

System.exit(0);

}if(e.getSource()==reg) {

register.setID(id.getText());

register.setName(name.getText());

register.setEmail(email.getText());

register.setSex(sex.getSelectedItem().toString());

String born= year.getSelectedItem().toString()+"-"+month.getSelectedItem().toString()+"-"+day.getSelectedItem().toString();

register.setBirth(born);if(password1.getText().equals(password2.getText())) {

register.setPassword(password1.getText());

}else{

JOptionPane.showMessageDialog(null,"密码前后不一致","警告",JOptionPane.WARNING_MESSAGE);

}

HandleReg hr= newHandleReg();

hr.writeReg(register);

}

}public voiditemStateChanged(ItemEvent e) {if (e.getSource() ==month) {

String year= this.year.getSelectedItem().toString();//获取选中//已知年份

String mon = this.month.getSelectedItem().toString();//获取月份

int y =Integer.valueOf(year);int m = Integer.valueOf(mon);//转换为int

if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {

DAY[1] = 29;

}else{

DAY[1] = 28;//判断闰年

}

day.removeAllItems();//清空选项列表、

for (int i = 0; i < DAY[m - 1]; i++) {

day.addItem(i+ 1);

}

}

}

}packagemytest;import java.awt.*;import javax.swing.*;import mytest.*;importmytest.Login;import java.awt.event.*;public class LoginView extends JPanel implementsActionListener{

Login login;

JTextField id;

JPasswordField pass;

JButton log,esc;booleansuccess;

LoginView(){

login= newLogin();

id= new JTextField(15);

pass= new JPasswordField(15);

log= new JButton("登录");

esc= new JButton("退出");

add(new JLabel("账号"));

add(id);

add(new JLabel("密码"));

add(pass);

add(log);

add(esc);

log.addActionListener(this);

esc.addActionListener(this);

}public booleanisSuccess() {returnsuccess;

}

@Overridepublic voidactionPerformed(ActionEvent e) {if(e.getSource()==esc) {

System.exit(0);

}if(e.getSource()==log) {

login.setID(id.getText());char [] pw =pass.getPassword();

login.setPassword(newString (pw));

HandleLog hl= newHandleLog();

login=hl.queryVerify(login);

success=login.getSuccess();

}

}

}packagemytest;import java.sql.*;importjavax.swing.JOptionPane;importmytest.Register;public classHandleReg {

Connection con;

PreparedStatement preSql;publicHandleReg() {try{

Class.forName("com.mysql.jdbc.Driver");

}catch(Exception e){}

String uri= "jdbc:mysql://localhost:3306/test?useSSL=true&characterEncoding=utf-8";try { //表名↑ 密码↓

con = DriverManager.getConnection(uri,"root","z123");

}catch(SQLException e) {System.out.println(e.toString());}

}public void writeReg(Register register) {//更新

String sqlStr = "insert into mess values(?,?,?,?,?,?)";int ok = 0;try{

preSql=con.prepareStatement(sqlStr);//链接

preSql.setString(1,register.getID());//更新数据

preSql.setString(2, register.getName());

preSql.setString(3, register.getSex());

preSql.setString(4, register.getBirth());

preSql.setString(5, register.getEmail());

preSql.setString(6, register.getPassword());

ok=preSql.executeUpdate();

con.close();

}catch(NullPointerException e){

System.out.println(e.toString());

}catch(SQLException e) {

System.out.println(e.toString());

JOptionPane.showMessageDialog(null,"id不能重复","警告",JOptionPane.WARNING_MESSAGE);//提示

}if(ok!=0) {

JOptionPane.showMessageDialog(null,"注册成功","恭喜",JOptionPane.WARNING_MESSAGE);

}

}

}packagemytest;import java.sql.*;importjavax.swing.JOptionPane;importmytest.Login;public classHandleLog {

Connection con;//链接

PreparedStatement pre;//驱动

ResultSet rs;publicHandleLog() {try{

Class.forName("com.mysql.jdbc.Driver");

}catch(Exception e){}

String uri= "jdbc:mysql://localhost:3306/test?useSSL=true&characterEncoding=utf-8";try { //ku名 密码↓

con = DriverManager.getConnection(uri,"root","zyk123");

}catch(Exception e){System.out.println(e.toString());}

}publicLogin queryVerify(Login logins) {

String id=logins.getID();

String pw=logins.getPassword();

String sqlStr= "select userID,password from mess where userID = ? and password = ?";//注意语法try{

pre=con.prepareStatement(sqlStr);

pre.setString(1,id);

pre.setString(2, pw);

rs=pre.executeQuery();if(rs.next()==true) {

logins.setSuccess(true);

JOptionPane.showMessageDialog(null,"登录成功","恭喜",JOptionPane.WARNING_MESSAGE);

}else{

logins.setSuccess(false);

JOptionPane.showMessageDialog(null,"登录失败","抱歉",JOptionPane.WARNING_MESSAGE);

}

}catch(Exception e){

System.out.println(e.toString());

}returnlogins;

}

}packagemytest;import java.sql.*;importjavax.swing.JOptionPane;importmytest.Login;public classHandleChange {

Connection con;

PreparedStatement sql;

ResultSet rs;publicHandleChange() {try{

Class.forName("com.mysql.jdbc.Driver");

}catch(Exception e){}

String uri= "jdbc:mysql://localhost:3306/test?useSSL=true&characterEncoding=utf-8";try { //数据库名 密码↓

con = DriverManager.getConnection(uri,"root","z123");

}catch(Exception e){

System.out.println(e.toString());

}if(con==null) return;

}publicChange query(Change ch) {

String id=ch.getID();

String pw=ch.getPassword();

String sqlStr= "update mess set password=? where userID =?";try{

sql=con.prepareStatement(sqlStr);

sql.setString(1,ch.getPassword());

sql.setString(2,ch.getID());int ok = sql.executeUpdate();//括号里面不能再写sqlStr

ch.setSuccess(true);

System.out.println(ok);

}catch(Exception e){

System.out.println(e.toString());

}returnch;

}

}packagemytest;importjava.awt.BorderLayout;importjavax.swing.JPanel;importjavax.swing.JTabbedPane;import java.awt.*;public class RLview extendsJPanel{

JTabbedPane p;

RegisterView reg;

LoginView log;

ChangePass pa;publicRLview() {

reg= newRegisterView();

log= newLoginView();

pa= newChangePass();

setLayout(newBorderLayout());

p=newJTabbedPane();

p.add("注册",reg);

p.add("登录",log);

p.add("修改密码",pa);

p.invalidate();

add(p,BorderLayout.CENTER);

}

}packagemytest;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JFrame;import mytest.*;importmytest.Login;importmytest.Register;public class RegAndLog extendsJFrame {

RLview rl;

RegAndLog(){

setBounds(100,100,800,260);

rl= newRLview();

add(rl);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setVisible(true);

}public static voidmain(String args[]) {

RegAndLog window= newRegAndLog();

window.setTitle("登录");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值