JDBC简单注册界面与数据库的连接)

一、开发环境

JDK1.8+Eclipse 2021-06 (4.20.0)+mysql 8.0.27+Navicat 15

二、步骤

1、在Eclipse里安装windowbuilder

查看你的Eclipse的版本在你的eclipse中点击Help->About Eclipse, 然后你就会看到
在这里插入图片描述
进入WindowBuilder的官网 找到你相应的版本并复制它的链接下面是官网链接: 官网下载
在这里插入图片描述
回到你的Eclipse,点击Help->Install New Software 进入以下界面:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启完后就可以开始使用了

1.1、WindowBuilder的使用

在你的工程中右键点击 New–>other…出现如下界面
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、创建数据库和表

  1. 数据库名:nucdb20
    登陆数据库,使用Navicat可视化操作数据库登陆进去你自己的数据库,新建一个数据库
    在这里插入图片描述

在这里插入图片描述

  1. 表名:users
  2. 字段名及类型
    username varchar(20)
    userpsw varchar(20)
    age int
    在这里插入图片描述
    保存表名这里起为users

3、Eclipse中新建项目

  1. 项目名:nucpro
  2. 将MySQL8.0 JDBC驱动程序jar包复制到项目根目录,类似下图:
    在这里插入图片描述
    MySQL8JDBC jar包下载地:JDBC JAR

在这里插入图片描述
按照你的操作系统下载即可。下载到本地后,然后复制到你的项目目录底下

3.1、右键点击jar包,将jar添加到构建路径,操作方式如下:

在这里插入图片描述

4、新建WindowBuilder应用

  1. 右键点击nucpro项目,新建WindowBuilder应用:包名:cn.edu.nuc,类名:Regist
    在这里插入图片描述
    在这里插入图片描述
    进去后取个名字Finish即可。

5、双击src下cn.edu.nuc包中的Regist.java,切换到 Design窗口,设计GUI界面

在这里插入图片描述
自己设计即可,设计之前要清空布局
在这里插入图片描述
点这个按钮即可,其他部件单机添加到右边进行设计即可。

6、双击"注册"按钮,编写注册程序

源码:

package nucpro;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.Font;
import java.awt.HeadlessException;
import javax.swing.JTextField;
import java.awt.Color;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.awt.event.*;
public class Regist {
	private JFrame frame;
	private JTextField unametxt;
	private JPasswordField upswtxt;
	private JTextField agetxt;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Regist window = new Regist();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	/**
	 * Create the application.
	 */
	public Regist() {
		initialize();
	}
	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 450, 338);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		
		JLabel lblNewLabel = new JLabel("教务系统学生注册");
		lblNewLabel.setBackground(new Color(0, 255, 255));
		lblNewLabel.setFont(new Font("微软雅黑", Font.PLAIN, 24));
		lblNewLabel.setBounds(109, 47, 202, 33);
		frame.getContentPane().add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("学生用户名");
		lblNewLabel_1.setBounds(20, 116, 73, 15);
		frame.getContentPane().add(lblNewLabel_1);
		
		unametxt = new JTextField();
		unametxt.setBounds(87, 106, 208, 35);
		frame.getContentPane().add(unametxt);
		unametxt.setColumns(10);
		
		JLabel lblNewLabel_2 = new JLabel("密码");
		lblNewLabel_2.setBounds(20, 161, 58, 15);
		frame.getContentPane().add(lblNewLabel_2);
		
		upswtxt = new JPasswordField();
		upswtxt.setBounds(87, 151, 208, 35);
		frame.getContentPane().add(upswtxt);
		
		JLabel lblNewLabel_3 = new JLabel("年龄");
		lblNewLabel_3.setBounds(20, 204, 58, 15);
		frame.getContentPane().add(lblNewLabel_3);
		
		agetxt = new JTextField();
		agetxt.setBounds(87, 194, 208, 35);
		frame.getContentPane().add(agetxt);
		agetxt.setColumns(10);
		
		JButton btnNewButton = new JButton("注册");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// JDBC代码
				// 1.去上三个文本框里的值
				String uname = unametxt.getText();
				String upsw = upswtxt.getText();
				int age = Integer.parseInt(agetxt.getText());
				try {
					// 2.连接数据库
					/**
					 * @description mysql8写法:url写法:jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf8&serverTimezone=UTC&useUnicode=true&useSSL=false
					 *             驱动程序:driver: com.mysql.cj.jdbc.Driver
					 *             mysql5写法:url写法:jdbc:mysql://localhost:3306/数据库名
					 *             驱动程序:com.mysql.jdbc.Driver
					 * */
					Class.forName("com.mysql.cj.jdbc.Driver");// 注册JDBC驱动
					String url = "jdbc:mysql://localhost:3306/nucdb20?characterEncoding=utf8&serverTimezone=UTC&useUnicode=true&useSSL=false ";
					Connection conn = DriverManager.getConnection(url,"	你的数据库用户名","你的数据库密码");
					String sql = "INSERT INTO users VALUES(?,?,?)";
					PreparedStatement pstmt = conn.prepareStatement(sql);
					pstmt.setString(1,uname);
					pstmt.setString(2,upsw);
					pstmt.setInt(3, age);
					int flag = pstmt.executeUpdate();// 下达执行指令
					if (flag ==1) {
						JOptionPane.showMessageDialog(null, "注册成功","提示信息",JOptionPane.INFORMATION_MESSAGE);
					}else {
						JOptionPane.showMessageDialog(null, "注册失败","提示信息",JOptionPane.INFORMATION_MESSAGE);
					}
				} catch (HeadlessException e1) {
					// TODO 自动生成的 catch 块
					e1.printStackTrace();
				} catch (ClassNotFoundException e1) {
					// TODO 自动生成的 catch 块
					e1.printStackTrace();
				} catch (SQLException e1) {
					// TODO 自动生成的 catch 块
					e1.printStackTrace();
				}
			}
		});
		btnNewButton.setBounds(140, 255, 97, 23);
		frame.getContentPane().add(btnNewButton);
	}
}

注意MySQL5与MySQL8 JDBC写法的不同。最后就可以运行看结果了。
在这里插入图片描述
数据鬼已存进去数据
在这里插入图片描述

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您解答关于Java与数据库连接的登陆页面问题。 首先,Java与数据库连接需要使用JDBC(Java Database Connectivity)技术。JDBC是Java语言中用于执行SQL语句的API,可以通过JDBC连接到各种关系型数据库,如MySQL、Oracle、SQL Server等。 在Java中实现登陆页面与数据库连接可以分为以下几个步骤: 1. 加载JDBC驱动程序:在Java中连接数据库,需要先加载相应的数据库驱动程序。不同的数据库有不同的驱动程序,例如MySQL的驱动程序为"com.mysql.jdbc.Driver"。可以使用Class.forName()方法来加载相应的驱动程序。 2. 建立数据库连接:在驱动程序加载之后,需要通过DriverManager类中的getConnection()方法来建立数据库连接。getConnection()方法需要传入数据库的URL、用户名和密码等参数。 3. 执行SQL语句:建立好数据库连接之后,可以通过Connection对象的createStatement()方法来创建一个Statement对象,然后使用Statement对象执行SQL语句。 4. 处理查询结果:如果执行的是查询语句,需要使用ResultSet对象来处理查询结果。 下面是一个简单的Java代码示例,该代码实现了登陆页面与MySQL数据库连接: ```java import java.sql.*; public class Login { public static void main(String[] args) { try { // 加载MySQL的JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 建立数据库连接 String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, username, password); // 执行SQL语句 String sql = "SELECT * FROM user WHERE username='admin' AND password='123456'"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); // 处理查询结果 if (rs.next()) { System.out.println("登陆成功!"); } else { System.out.println("用户名或密码错误!"); } // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在这个示例中,我们首先加载了MySQL的JDBC驱动程序,然后建立了与数据库连接。接着执行了一个查询语句,查询用户名为"admin",密码为"123456"的用户是否存在。最后根据查询结果输出相应的信息。 当然,这只是一个简单的示例,实际中需要根据具体的需求进行修改。同时,需要注意数据库连接的关闭,以免出现连接泄露的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cai-4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值