您的位置:首页 > 数据库

登陆界面(连接数据库,从数据库中获取账号密码)

2014-03-09 16:28 513 查看
package com.derun;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class JDBC {

   

    private static final String dburl = "jdbc:mysql://localhost:3306/xuejava";

    private static final String user = "suixin";

    private static final String password = "123456";

    public static Connection getConnection() {

        

        Connection con = null;

        try {

            System.out.println("正在连接");

            con = DriverManager.getConnection(dburl, user, password);

            System.out.println("已连接");

        } catch (SQLException ex) {

            System.out.println("连接失败");

            ex.printStackTrace();

        }

        return con;

    }
}

package com.xuejava.iframe;

import com.derun.JDBC;

import com.derun.Login;

import com.xuejava.Library;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.JOptionPane;

public class LoginFrame extends javax.swing.JFrame {

    public LoginFrame() {

        initComponents();

        this.setLocationRelativeTo(null);

        

    }

    @SuppressWarnings("unchecked")

    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          

    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();

        jPanel1 = new javax.swing.JPanel();

        jPanel2 = new javax.swing.JPanel();

        jLabel2 = new javax.swing.JLabel();

        jLabel3 = new javax.swing.JLabel();

        username = new javax.swing.JTextField();

        password = new javax.swing.JPasswordField();

        jPanel3 = new javax.swing.JPanel();

        btn_login = new javax.swing.JButton();

        btn_reset = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/login.jpg"))); // NOI18N

        getContentPane().add(jLabel1, java.awt.BorderLayout.PAGE_START);

        jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        jPanel1.setPreferredSize(new java.awt.Dimension(280, 200));

        jPanel2.setMinimumSize(new java.awt.Dimension(280, 182));

        jPanel2.setPreferredSize(new java.awt.Dimension(280, 150));

        jLabel2.setText("用户名:");

        jLabel3.setText("密  码:");

        username.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                usernameActionPerformed(evt);

            }

        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

        jPanel2.setLayout(jPanel2Layout);

        jPanel2Layout.setHorizontalGroup(

            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jPanel2Layout.createSequentialGroup()

                .addGap(31, 31, 31)

                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

                    .addComponent(jLabel3)

                    .addComponent(jLabel2))

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

                    .addComponent(password, javax.swing.GroupLayout.DEFAULT_SIZE, 121, Short.MAX_VALUE)

                    .addComponent(username))

                .addGap(0, 0, Short.MAX_VALUE))

        );

        jPanel2Layout.setVerticalGroup(

            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jPanel2Layout.createSequentialGroup()

                .addGap(45, 45, 45)

                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel2)

                    .addComponent(username, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addGap(30, 30, 30)

                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel3)

                    .addComponent(password, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

        );

        jPanel3.setPreferredSize(new java.awt.Dimension(280, 50));

        btn_login.setText("登陆");

        btn_login.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                btn_loginActionPerformed(evt);

            }

        });

        btn_reset.setText("重置");

        btn_reset.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                btn_resetActionPerformed(evt);

            }

        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

        jPanel3.setLayout(jPanel3Layout);

        jPanel3Layout.setHorizontalGroup(

            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jPanel3Layout.createSequentialGroup()

                .addGap(52, 52, 52)

                .addComponent(btn_login)

                .addGap(28, 28, 28)

                .addComponent(btn_reset)

                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

        );

        jPanel3Layout.setVerticalGroup(

            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jPanel3Layout.createSequentialGroup()

                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(btn_login)

                    .addComponent(btn_reset))

                .addGap(0, 28, Short.MAX_VALUE))

        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

        jPanel1.setLayout(jPanel1Layout);

        jPanel1Layout.setHorizontalGroup(

            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE)

            .addGroup(jPanel1Layout.createSequentialGroup()

                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 270, javax.swing.Group
4000
Layout.PREFERRED_SIZE)

                .addGap(0, 9, Short.MAX_VALUE))

        );

        jPanel1Layout.setVerticalGroup(

            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jPanel1Layout.createSequentialGroup()

                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)

                .addContainerGap())

        );

        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);

        pack();

    }// </editor-fold>                        

    private void usernameActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here:

    }                                        

    private void btn_loginActionPerformed(java.awt.event.ActionEvent evt) {                                          

        String user_name = username.getText().trim();

        String pass_word = new String(password.getPassword());

        if (user_name.length() == 0) {

            JOptionPane.showMessageDialog(null, "用户名不能为空!");

            return;

        }

        if (pass_word.length() == 0) {

            JOptionPane.showMessageDialog(null, "用户名不能为空!");

            return;

        }

        boolean a = true;

        while (a) {

            

            Login ln = getLogins(user_name);

            if (ln == null) {

                System.out.println("请输入正确的信息");

                JOptionPane.showMessageDialog(null, "用户名不存在");

                username.setText("");

                password.setText("");

                return;

            }

            String zh = ln.getLogin_name();

            String ps = ln.getPass_word();

            if (zh.equals(user_name) && ps.equals(pass_word)) {

                Library libraryFrame = new Library();

                libraryFrame.setVisible(true);

                this.setVisible(false);

                a = false;

            } else {

                JOptionPane.showMessageDialog(null, "你的密码错误!");

                username.setText("");

                password.setText("");

                return;

            }

        }

    }                                         

    private void btn_resetActionPerformed(java.awt.event.ActionEvent evt) {                                          

        username.setText("");

        password.setText("");

    }                                         

    public static Login getLogins(String name) {

//        List<Login> logins = new ArrayList<>();

        Login login = null;

        String sql = "select * from yonghu where user_name='" + name + "'";

        try (Connection con = JDBC.getConnection();

                Statement stmt = con.createStatement();

                ResultSet rs = stmt.executeQuery(sql);) {

            while (rs.next()) {

                login = new Login();

                login.setLogin_name(rs.getString("user_name"));

                login.setPass_word(rs.getString("pass_word"));

//                String loginname = rs.getString("loginname");

//                String loginpassword = rs.getString("loginpassword");

//                login.add(login);

            }

        } catch (SQLException ex) {

            ex.printStackTrace();

        }

        return login;

    }

    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {

                new LoginFrame().setVisible(true);

            }

        });

    }

    // Variables declaration - do not modify                     

    private javax.swing.JButton btn_login;

    private javax.swing.JButton btn_reset;

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JLabel jLabel3;

    private javax.swing.JPanel jPanel1;

    private javax.swing.JPanel jPanel2;

    private javax.swing.JPanel jPanel3;

    private javax.swing.JPasswordField password;

    private javax.swing.JTextField username;

    // End of variables declaration                   

    private String getPass_word() {

        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐