java 与数据库连接 实现用户的注册和登录
2017-07-05 16:07
726 查看
java]
view plain
copy
package com.lijianrong.Mysql.cn;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.sql.*;
/**
*作者:rong
* 功能:与数据库中的用户数据进行匹配 匹配成功的话显示成功对话框。
* 2016-7-17
*/
public class LoginFrame
{
// 登录界面的GUI组件
private JFrame jf = new JFrame("登录");
private JPanel jp1=new JPanel();
private JPanel jp2=new JPanel();
private JPanel jp3=new JPanel();
private JButton jb1=new JButton("注册");
private JTextField userField = new JTextField(20);
private JTextField passField = new JTextField(20);
private JButton loginButton = new JButton("登录");
public void init()throws Exception
{
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 为登录按钮添加事件监听器
loginButton.addActionListener(e -> {
// 登录成功则显示“登录成功”
System.out.println(userField.getText() +"\t"+passField.getText()+"\t"+validate(userField.getText(), passField.getText()));
if (validate(userField.getText(), passField.getText()))
{
JOptionPane.showMessageDialog(jf, "登录成功");
}
// 否则显示“登录失败”
else
{
JOptionPane.showMessageDialog(jf, "登录失败");
}
<
e7fb
li class="alt"> });
jb1.addActionListener(e -> {
// 登录成功则显示“登录成功”
System.out.println(userField.getText() +"\t"+passField.getText()+"\t"+validate(userField.getText(), passField.getText()));
try {
cheak(userField.getText(),passField.getText());
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
});
class mylister extends WindowAdapter{
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
jf.addWindowListener(new mylister());
jp1.add(new Label("用户名:"));
jp1.add(userField);
jp2.add(new Label("密码:"));
jp2.add(passField);
jp3.add(jb1);
jp3.add(loginButton);
jf.add(jp3,BorderLayout.SOUTH);
jf.add(jp1,BorderLayout.NORTH);
jf.add(jp2 , BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
}
//注册用户和密码 (1)首先先检查数据库中是否有相应的数据,如果有的话提示"该用户存在,请直接登录。"
private void cheak(String userName, String userPass) throws Exception
{
if (validate(userField.getText(), passField.getText()))
{
JOptionPane.showMessageDialog(jf, "您已经有账号了请直接登录。");
}
else
{
String sql="insert ignore into student values(?,?)";
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?"
+ "user=root&password=768696&useUnicode=true&characterEncoding=UTF8");
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userName);
pstmt.setString(2, userPass);
pstmt.executeUpdate();
JOptionPane.showMessageDialog(jf, "注册成功请登录。。。。");
}
}
//判断数据库中是否有该用户名和密码
private boolean validate(String userName, String userPass)
{
String sql="select *from student where student.name='"+userName+"' and student.password='"+userPass+"'";
try(
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?"
+ "user=root&password=768696&useUnicode=true&characterEncoding=UTF8");
Statement pstmt = conn.createStatement();
ResultSet rs=pstmt.executeQuery(sql))
{ //如果查询的ResultSet里有超过一条的记录,则登录成功
if (rs.next())
{
return true;
}
}
catch(Exception e)
{
e.printStackTrace();
}
return false;
}
public static void main(String[] args) throws Exception
{
new LoginFrame().init();
}
}
本文来自转载
view plain
copy
package com.lijianrong.Mysql.cn;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.sql.*;
/**
*作者:rong
* 功能:与数据库中的用户数据进行匹配 匹配成功的话显示成功对话框。
* 2016-7-17
*/
public class LoginFrame
{
// 登录界面的GUI组件
private JFrame jf = new JFrame("登录");
private JPanel jp1=new JPanel();
private JPanel jp2=new JPanel();
private JPanel jp3=new JPanel();
private JButton jb1=new JButton("注册");
private JTextField userField = new JTextField(20);
private JTextField passField = new JTextField(20);
private JButton loginButton = new JButton("登录");
public void init()throws Exception
{
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 为登录按钮添加事件监听器
loginButton.addActionListener(e -> {
// 登录成功则显示“登录成功”
System.out.println(userField.getText() +"\t"+passField.getText()+"\t"+validate(userField.getText(), passField.getText()));
if (validate(userField.getText(), passField.getText()))
{
JOptionPane.showMessageDialog(jf, "登录成功");
}
// 否则显示“登录失败”
else
{
JOptionPane.showMessageDialog(jf, "登录失败");
}
<
e7fb
li class="alt"> });
jb1.addActionListener(e -> {
// 登录成功则显示“登录成功”
System.out.println(userField.getText() +"\t"+passField.getText()+"\t"+validate(userField.getText(), passField.getText()));
try {
cheak(userField.getText(),passField.getText());
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
});
class mylister extends WindowAdapter{
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
jf.addWindowListener(new mylister());
jp1.add(new Label("用户名:"));
jp1.add(userField);
jp2.add(new Label("密码:"));
jp2.add(passField);
jp3.add(jb1);
jp3.add(loginButton);
jf.add(jp3,BorderLayout.SOUTH);
jf.add(jp1,BorderLayout.NORTH);
jf.add(jp2 , BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
}
//注册用户和密码 (1)首先先检查数据库中是否有相应的数据,如果有的话提示"该用户存在,请直接登录。"
private void cheak(String userName, String userPass) throws Exception
{
if (validate(userField.getText(), passField.getText()))
{
JOptionPane.showMessageDialog(jf, "您已经有账号了请直接登录。");
}
else
{
String sql="insert ignore into student values(?,?)";
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?"
+ "user=root&password=768696&useUnicode=true&characterEncoding=UTF8");
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userName);
pstmt.setString(2, userPass);
pstmt.executeUpdate();
JOptionPane.showMessageDialog(jf, "注册成功请登录。。。。");
}
}
//判断数据库中是否有该用户名和密码
private boolean validate(String userName, String userPass)
{
String sql="select *from student where student.name='"+userName+"' and student.password='"+userPass+"'";
try(
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?"
+ "user=root&password=768696&useUnicode=true&characterEncoding=UTF8");
Statement pstmt = conn.createStatement();
ResultSet rs=pstmt.executeQuery(sql))
{ //如果查询的ResultSet里有超过一条的记录,则登录成功
if (rs.next())
{
return true;
}
}
catch(Exception e)
{
e.printStackTrace();
}
return false;
}
public static void main(String[] args) throws Exception
{
new LoginFrame().init();
}
}
本文来自转载
相关文章推荐
- java 与数据库连接 实现用户的注册和登录
- javaWeb 简单注册登录(含数据库连接) -- (三) 实现用户注册请求的响应
- node.js---study2 连接池连接数据库实现登录注册查询用户的功能---
- JavaDay10--Homework(无数据库实现用户注册、登录)
- Java小程序之集合框架模拟数据库实现用户登录和注册功能
- struts2连接数据库实现用户注册与登录
- 用python连接数据库,实现用户注册和用户登录
- 【J2EE核心开发学习笔记 010】struts2的搭建及连接数据库实现用户注册与登录
- Java小程序之集合框架模拟数据库实现用户登录和注册功能
- Servlet +JSP+Javabean 实现用户登录注册
- 数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册
- 使用Struts 2.0 框架实现用户注册登录模块(数据库校验)
- Java程序连接oracle数据库,并实现注册与登录功能
- 使用JFinal框架连接数据库,实现注册、登录功能
- C#_连接数据库实现 登录注册界面
- Java实现--登录和注册案例(把用户信息存进集合)
- JSP连接数据库实现注册登录(附带上传头像)
- struts2连接数据库实现用户登录
- Unity C# 连接SQL Server数据库,实现获取和添加登录注册的用户列表
- 数据库基础入门(四)— — 产品功能实现之数据库架构与用户登录注册