"Sistema de gestión de tarjetas de membresía" · Desarrollo Java Swing + MySQL JDBC

Tabla de contenido

1. Idioma y medio ambiente

En segundo lugar, realiza la función

Tres, diseño de base de datos

4. Requisitos específicos y pasos de implementación recomendados

Cinco, asuntos que necesitan atención

Seis, estándares de puntuación 

>>> Código de implementación:

com.ynavc.Bean

com.ynavc.Controller

com.ynavc.Dao

com.ynavc.Test

com.ynavc.Vive


1. Idioma y medio ambiente

1. Lenguaje de implementación: Java.

2. Entorno de desarrollo: MyEclipse + MySQL.

En segundo lugar, realiza la función

Utilice la tecnología Java para desarrollar un sistema de gestión de tarjetas de membresía. Las funciones específicas son las siguientes: 1. El programa comienza a mostrar la interfaz principal, haga clic en el botón de consulta para mostrar toda la información de la tarjeta de membresía, como se muestra en la Figura 1.

Figura 1 Lista de información de miembros

2. Seleccione una fila de información de la tarjeta de membresía y haga clic en el botón Eliminar para preguntar si desea eliminarla, como se muestra en la Figura 2. 

Figura 2 Confirmación de eliminación

3. Si hace clic en el botón Sí, se confirma la eliminación y si hace clic en No o Cancelar, la operación de eliminación se cancela. Una vez que la eliminación se haya realizado correctamente, aparecerá el mensaje de aviso correspondiente, como se muestra en la Figura 3. 

Figura 3 Indicación de eliminación exitosa

Tres, diseño de base de datos

1. Cree una base de datos ( MemberDB )

2. Cree una tabla de información de tarjetas de membresía ( miembros ) con la siguiente estructura:

4. Requisitos específicos y pasos de implementación recomendados

1. Cree una base de datos y tablas de acuerdo con los requisitos de la base de datos anterior y consulte la Figura 2 para agregar al menos 3 datos de prueba.

2. Construya el marco del sistema

(1) Escribir clases de entidad.

(2) Cree una capa de acceso a datos y escriba BaseDAO y el código de la capa de acceso a datos.

(3) Cree un formulario.

3. Crea el formulario principal

(1) De acuerdo con la Figura 1, cree el formulario MainFrame y agregue los componentes correspondientes

(2) Los datos de la tabla provienen de la base de datos, haga clic en el botón de consulta para mostrar todos los datos.

(3) Haga clic en el botón "Eliminar" para eliminar un registro de tarjeta de membresía seleccionado.

Cinco, asuntos que necesitan atención

1. Exporte la base de datos a un archivo de script sql 
2. Empaquete y envíe el proyecto completo 

Seis, estándares de puntuación 

>>> Código de implementación:

com.ynavc.Bean

member.java

package com.ynavc.Bean;

public class Members {
	int memberID;
	String phone;
	String name;
	String sex;
	String openDate;
	String balance;
	
	public Members() {
		super();
	}
	public Members(int memberID, String phone, String name, String sex, String openDate, String balance) {
		super();
		this.memberID = memberID;
		this.phone = phone;
		this.name = name;
		this.sex = sex;
		this.openDate = openDate;
		this.balance = balance;
	}
	public int getMemberID() {
		return memberID;
	}
	public void setMemberID(int memberID) {
		this.memberID = memberID;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String getOpenDate() {
		return openDate;
	}
	public void setOpenDate(String openDate) {
		this.openDate = openDate;
	}
	public String getBalance() {
		return balance;
	}
	public void setBalance(String balance) {
		this.balance = balance;
	}
	
}

com.ynavc.Controller

Select.java

package com.ynavc.Controller;
 
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import com.ynavc.Bean.Members;
import com.ynavc.Dao.DbConnection;
 
public class Select {
	public Object[][] getMebers(String sql) {
		
		ResultSet resultSet = DbConnection.query(sql);
		ArrayList<Members> list=new ArrayList<Members>();
		try {
			while (resultSet.next()) {
				Members m=new Members();
				m.setMemberID(resultSet.getInt(1));
				m.setPhone(resultSet.getString(2));
				m.setName(resultSet.getString(3));
				m.setSex(resultSet.getString(4));
				m.setOpenDate(resultSet.getString(5));
				m.setBalance(resultSet.getString(6));
				list.add(m);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		Object[][] objects=new Object[list.size()][6];
		for(int i=0;i<list.size();i++) {
			objects[i][0]=list.get(i).getMemberID();
			objects[i][1]=list.get(i).getPhone();
			objects[i][2]=list.get(i).getName();
			objects[i][3]=list.get(i).getSex();
			objects[i][4]=list.get(i).getOpenDate();
			objects[i][5]=list.get(i).getBalance();
		}
		return objects;
	}
	
}

Updata.java

 
package com.ynavc.Controller;
 
import com.ynavc.Dao.DbConnection;
 
public class Updata {
	//添加数据
	public int addData(String sql) {
		
		return DbConnection.updataInfo(sql);
	}
}

com.ynavc.Dao

DbConnection.java

package com.ynavc.Dao;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 
import javax.swing.JOptionPane;
 
import com.mysql.jdbc.Statement;
 
public class DbConnection {
	//驱动类的类名
	private static final String DRIVERNAME="com.mysql.jdbc.Driver";
	//连接数据的URL路径
	private static final String URL="jdbc:mysql://127.0.0.1:3306/memberdb?useSSL=true&serverTimezone=GMT";
	//数据库登录账号
	private static final String USER="root";
	//数据库登录密码
	private static final String PASSWORD="root";
	//加载驱动
	static{
		try {
			Class.forName(DRIVERNAME);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
    //获取数据库连接
	public static Connection getConnection() {
	          try {
		return DriverManager.getConnection(URL,USER,PASSWORD);
	           } catch (SQLException e) {	
		e.printStackTrace();
	           }
			return null;
	}
	//查询
	public static ResultSet query(String sql) {
		System.out.println(sql);
		//获取连接
		Connection connection=getConnection();
		PreparedStatement psd;
		try {
			psd = connection.prepareStatement(sql);
			return psd.executeQuery();
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null,"执行语句出错\n"+e.toString());
			e.printStackTrace();
		}
		return null;
	}
	//增、删、改、查
		public static int updataInfo(String sql) {
			System.out.println(sql);
			//获取连接
			Connection connection=getConnection();
			try {
				PreparedStatement psd=connection.prepareStatement(sql);
				return psd.executeUpdate();
			} catch (SQLException e) {
				JOptionPane.showMessageDialog(null,"执行语句出错\n"+e.toString());
				e.printStackTrace();
			}
			return 0;
		}
	//关闭连接
	public  static  void colse(ResultSet rs,Statement stmt,Connection  conn) throws Exception{
	          try { if (rs != null){ rs.close(); }
                         	 if (stmt != null) { stmt.cancel(); }
		 if (conn != null) { conn.close(); }
	   } catch (Exception e) {
		   e.printStackTrace(); throw new Exception();
	   }
	}
}

com.ynavc.Test

Main.java

package com.ynavc.Test;

import com.ynavc.Vive.MainJframe;

public class Main {

	public static void main(String[] args) {
		new MainJframe().setVisible(true);
	}

}

com.ynavc.Vive

MainJframe.java

package com.ynavc.Vive;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
import javax.swing.table.DefaultTableModel;

import com.ynavc.Controller.Select;
import com.ynavc.Controller.Updata;

import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class MainJframe extends JFrame {
	
	Select select = new Select();
	Updata updata = new Updata();
	
	Object[] header= {"序号","手机","姓名","性别","会员日期","卡余额"};
	String sql = "SELECT memberid,phone,name,sex,openDate,balance FROM members;";
	Object[][] data= select.getMebers(sql);
	DefaultTableModel df = new DefaultTableModel(data, header);
	int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
	int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
	
	public MainJframe() {
		super("会员卡管理系统");
		this.setBounds(0, 0, 600, 400);
		this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
		this.setResizable(false);//让窗口大小不可改变
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用户单击窗口的关闭按钮时程序执行的操作
		getContentPane().setLayout(null);
		
		JTable jTable = new JTable(df);
		JScrollPane jsp=new JScrollPane(jTable,v,h);
		jsp.setBounds(10, 60, 574, 301);
		getContentPane().add(jsp);
		
		JButton btnNewButton_1 = new JButton("查询");
		btnNewButton_1.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				String sql = "SELECT memberid,phone,name,sex,openDate,balance FROM members;";
				Object[][] data = select.getMebers(sql);
				df.setDataVector(data, header);
			}
		});
		btnNewButton_1.setBounds(301, 23, 93, 23);
		getContentPane().add(btnNewButton_1);
		
		JButton btnNewButton_2 = new JButton("删除");
		btnNewButton_2.setBounds(414, 23, 93, 23);
		getContentPane().add(btnNewButton_2);
		btnNewButton_2.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				if (jTable.getSelectedColumn()<0) {
					JOptionPane.showMessageDialog(null, "请选中要删除的数据!");
				} else {
					int ok = JOptionPane.showConfirmDialog(null,"您确定要删除该会员信息吗?!","删除提示",0,1);
					if(ok == JOptionPane.OK_OPTION){
						int id = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());
						String sql="delete from members where memberid="+id;
						int result = updata.addData(sql);
						if (result>0) {
							JOptionPane.showMessageDialog(null, "该会员删除成功!");
							JOptionPane.showMessageDialog(null, "记得点一下查询哦!");
						} else {
							JOptionPane.showMessageDialog(null, "删除失败!");
						}
	                }
				}

			}
		});
		
	}
	public static void main(String[] args) {
		new MainJframe().setVisible(true);
	}
}

 

Supongo que te gusta

Origin blog.csdn.net/weixin_44893902/article/details/108705407
Recomendado
Clasificación