Hỏi về cách thêm MySQL vào Java Eclipse

Chào mọi người, em mới học java bằng eclipse được ít hôm
Hôm nay em đã ngồi suốt 4 tiếng để làm ra cái này, chạy ổn cả nhưng em phát hiện ra rằng nó cần phải có database lưu trữ dữ liệu khi nhập vào để mở lại còn có tiếp. Bây giờ chương trình đã có sẵn, làm cách nào để nối MySQL vô đây ạ ? Em xin cảm ơn!
Xin nói thêm là em biết kết nối MySQL và Eclipse rồi, nhưng không biết chỉnh làm sao để các thông tin nhập chạy vô database đấy ạ.

image
image

Đây là source code chính:

public abstract class VATTU {
	private String mvt;
	private String tenvt;
	private float soluong;
	private float dongia;
	abstract float tinhtien();
	public VATTU(String mvt, String tenvt, float soluong, float dongia) {
		setDongia(dongia);
		setMvt(mvt);
		setSoluong(soluong);
		setTenvt(tenvt);
		
		
	}
	String getMvt() {
		return mvt;
	}
	void setMvt(String mvt) {
		this.mvt = mvt;
	}
	String getTenvt() {
		return tenvt;
	}
	void setTenvt(String tenvt) {
		this.tenvt = tenvt;
	}
	float getSoluong() {
		return soluong;
	}
	void setSoluong(float soluong) {
		this.soluong = soluong;
	}
	float getDongia() {
		return dongia;
	}
	void setDongia(float dongia) {
		this.dongia = dongia;
	}
	
}

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import java.awt.Font;
import java.util.Vector;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class gdKtra extends JFrame {

	private JPanel contentPane;
	private JTextField txttenvt;
	private JTextField txtmavt;
	private JTable table;
	private JTextField txtdg;
	private JTextField txtsl;
	
	
	JLabel lbltt = new JLabel("");
	JComboBox comboBox = new JComboBox();

	
	Vector Vtieude=new Vector();
	Vector Vndung=new Vector();
	Vector Vdong;
	float tt=0;
	
	DefaultTableModel dtm=new DefaultTableModel();
	
	void Tieude() {
		Vtieude.add("Mã vật tư");
		Vtieude.add("Tên vật tư");
		Vtieude.add("Loại vật tư");
		Vtieude.add("Số lượng");
		Vtieude.add("Đơn giá");
		Vtieude.add("Thành tiền");
	}
	
	void Nhap(VATTU VT) {
		Vdong = new Vector();
		Vdong.add(VT.getMvt());
		Vdong.add(VT.getTenvt());
		if(comboBox.getSelectedIndex()==0) {
			Vdong.add("HÀNG MỚI NHẬP");
		}
		if(comboBox.getSelectedIndex()==1) {
			Vdong.add("HÀNG TỒN KHO");
		}
		Vdong.add(VT.getSoluong());
		Vdong.add(VT.getDongia());
		Vdong.add(VT.tinhtien());
		Vndung.add(Vdong);
		tt+=VT.tinhtien();
	}


	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					gdKtra frame = new gdKtra();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public gdKtra() {
		Tieude();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 700, 400);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblVtT = new JLabel("LO\u1EA0I:");
		lblVtT.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblVtT.setBounds(10, 57, 59, 28);
		contentPane.add(lblVtT);
		
		comboBox.setFont(new Font("Tahoma", Font.PLAIN, 14));
		comboBox.setModel(new DefaultComboBoxModel(new String[] {"H\u00C0NG M\u1EDAI NH\u1EACP", "H\u00C0NG T\u1ED2N KHO"}));
		comboBox.setBounds(57, 57, 138, 28);
		contentPane.add(comboBox);
		
		JLabel lblMVtT = new JLabel("M\u00E3 v\u1EADt t\u01B0:");
		lblMVtT.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblMVtT.setBounds(227, 61, 89, 20);
		contentPane.add(lblMVtT);
		
		txttenvt = new JTextField();
		txttenvt.setFont(new Font("Tahoma", Font.PLAIN, 14));
		txttenvt.setBounds(536, 61, 138, 20);
		contentPane.add(txttenvt);
		txttenvt.setColumns(10);
		
		txtmavt = new JTextField();
		txtmavt.setFont(new Font("Tahoma", Font.PLAIN, 14));
		txtmavt.setColumns(10);
		txtmavt.setBounds(297, 61, 138, 20);
		contentPane.add(txtmavt);
		
		JLabel lblTnVtT = new JLabel("T\u00EAn v\u1EADt t\u01B0:");
		lblTnVtT.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblTnVtT.setBounds(460, 63, 89, 17);
		contentPane.add(lblTnVtT);
		
		JLabel lblSLng = new JLabel("S\u1ED1 l\u01B0\u1EE3ng:");
		lblSLng.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblSLng.setBounds(383, 108, 69, 17);
		contentPane.add(lblSLng);
		
		JLabel lblnGi = new JLabel("\u0110\u01A1n gi\u00E1:");
		lblnGi.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblnGi.setBounds(123, 108, 59, 17);
		contentPane.add(lblnGi);
		
		JButton btnNewButton = new JButton("Th\u00EAm");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				VATTU s=null;
				String mavt=txtmavt.getText();
				String tenvt=txttenvt.getText();
				float sl=Float.parseFloat(txtsl.getText());
				float dg=Float.parseFloat(txtdg.getText());
				if(comboBox.getSelectedIndex()==0) {
					s=new HANGMOINHAP(mavt,tenvt,sl,dg);
				}
				if(comboBox.getSelectedIndex()==1) {
					s=new HANGTONKHO(mavt,tenvt,sl,dg);
				}
				lbltt.setText(""+tt);
				Nhap(s);
				dtm.setDataVector(Vndung, Vtieude);
				table.setModel(dtm);
			}
		});
		btnNewButton.setBounds(144, 157, 89, 23);
		contentPane.add(btnNewButton);
		
		JButton btnXa = new JButton("X\u00F3a");
		btnXa.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				txtdg.setText("");
				txtmavt.setText("");
				txtsl.setText("");
				txttenvt.setText("");
				Vdong.clear();
				dtm.setDataVector(Vdong, Vtieude);
				table.setModel(dtm);
			}
		});
		btnXa.setBounds(330, 157, 89, 23);
		contentPane.add(btnXa);
		
		JButton btnThot = new JButton("Tho\u00E1t");
		btnThot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		btnThot.setBounds(511, 157, 89, 23);
		contentPane.add(btnThot);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(10, 191, 664, 127);
		contentPane.add(scrollPane);
		
		table = new JTable();
		table.setModel(new DefaultTableModel(
			new Object[][] {
				{null, null, null, null, null, null},
			},
			new String[] {
				"M\u00E3 v\u1EADt t\u01B0", "T\u00EAn v\u1EADt t\u01B0", "Lo\u1EA1i v\u1EADt t\u01B0", "S\u1ED1 l\u01B0\u1EE3ng", "\u0110\u01A1n gi\u00E1", "Th\u00E0nh ti\u1EC1n"
			}
		));
		scrollPane.setViewportView(table);
		
		txtdg = new JTextField();
		txtdg.setFont(new Font("Tahoma", Font.PLAIN, 14));
		txtdg.setColumns(10);
		txtdg.setBounds(192, 106, 138, 20);
		contentPane.add(txtdg);
		
		txtsl = new JTextField();
		txtsl.setFont(new Font("Tahoma", Font.PLAIN, 14));
		txtsl.setColumns(10);
		txtsl.setBounds(460, 106, 138, 20);
		contentPane.add(txtsl);
		
		JLabel lblQunLVt = new JLabel("QU\u1EA2N L\u00DD V\u1EACT T\u01AF");
		lblQunLVt.setFont(new Font("Tahoma", Font.PLAIN, 23));
		lblQunLVt.setBounds(249, 11, 182, 39);
		contentPane.add(lblQunLVt);
		
		JLabel lblTngThnhTin = new JLabel("T\u1ED4NG TH\u00C0NH TI\u1EC0N:");
		lblTngThnhTin.setFont(new Font("Tahoma", Font.BOLD, 14));
		lblTngThnhTin.setBounds(249, 329, 154, 17);
		contentPane.add(lblTngThnhTin);
		

		lbltt.setForeground(Color.RED);
		lbltt.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lbltt.setBounds(395, 329, 136, 17);
		contentPane.add(lbltt);
	}
}

Kết nối thông qua JDBC.
Từ khóa: java mysql. Tìm trên Google, có rất nhiều bài mẫu về kết nối và thao tác với MySQL.
Đó là phần mã bạn cần viết để lưu vào csdl MySQL.

1 Like

Hi Nguyễn Đại Tài.

  1. Bạn cần tìm hiểu thêm về CSDL.
  2. Để giao tiếp với CSDL thường dùng các thư viện dạng drive để kết nối.
  3. Để đơn giản bạn có thể thử SQLite

Tứ khóa cho bạn là JDBC nhé

Cảm ơn mọi người đã hỗ trợ, nhưng như ở trên em đã nói là em đã kết nối được MySQL vào Eclipse rồi, nhưng không biết code insert cho các biến nhập chạy vào database được ạ :frowning:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?