怎么把添加的数据显现出来?

主页面代码和添加页面代码已贴出,我点击添加却加不上数据,是代码哪里的原因?求解答,谢谢!
以下为主页面代码:

package page;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JDesktopPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JTable;
import java.awt.SystemColor;

public class MainPage {

    private JFrame frame;
    private JMenuBar menuBar;
    private JTable table;
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    MainPage window = new MainPage();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public MainPage() {
        initialize();
        frame.setVisible(true);
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setTitle("\u4E3B\u9875\u9762");
        
        frame.setBounds(100, 100, 740, 500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.getContentPane().setLayout(null);
        
         menuBar = new JMenuBar();
         menuBar.setBackground(new Color(240, 240, 240));
         menuBar.setBounds(0, 0, 714, 437);
        frame.getContentPane().add(menuBar);
        
        JMenu mnNewMenu = new JMenu("\u4EA7\u54C1\u7BA1\u7406");
        menuBar.add(mnNewMenu);
        
        JMenuItem mntmNewMenuItem = new JMenuItem("\u6DFB\u52A0\u7528\u6237");
        mntmNewMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                //获取一个添加页面的对象
                AddPage add = new AddPage();
                //将桌面存在的内容都清理一遍
                menuBar.removeAll();
                //将页面加入到桌面面板
                menuBar.add(add.getFrame());
            }
        });
        mnNewMenu.add(mntmNewMenuItem);
        
        JMenuItem mntmNewMenuItem_1 = new JMenuItem("\u67E5\u8BE2\u7528\u6237");
        mntmNewMenuItem_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                SearchPage sp = new SearchPage();
                //运行一次可以同时将添加页面和查询页面显示出来,新加页面之前把原有桌面 
                menuBar.removeAll();
                //将窗口成员添加到menuBar 里面
                menuBar.add(sp.getFrame());
            }
        });
        mnNewMenu.add(mntmNewMenuItem_1);
        
        JMenuItem mntmNewMenuItem_2 = new JMenuItem("\u4FEE\u6539\u7528\u6237");
        mntmNewMenuItem_2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                EditPage sp = new EditPage();
                menuBar.removeAll();
                menuBar.add(sp.getFrame());
            }
        });
        mnNewMenu.add(mntmNewMenuItem_2);
        
        JMenuItem mntmNewMenuItem_3 = new JMenuItem("\u5220\u9664\u7528\u6237");
        mntmNewMenuItem_3.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                DeleteUserPage sp = new DeleteUserPage();
                menuBar.removeAll();
                //将窗口成员添加到menuBar 里面
                menuBar.add(sp.getFrame());
            }
        });
        mnNewMenu.add(mntmNewMenuItem_3);
        JDesktopPane desktopPane = new JDesktopPane();
        desktopPane.setBackground(Color.LIGHT_GRAY);
        desktopPane.setBounds(10, 52, 707, 400);
        frame.getContentPane().add(desktopPane);
        desktopPane.setLayout(null);
        
        table = new JTable();
        table.setBounds(0, 0, 1, 1);
        frame.getContentPane().add(table);
    }
}

以下为添加页面代码:

package page;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.DefaultTableModel;

import Dao.UserDao;
import Model.User;
import service.UserService;

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.ActionEvent;

public class AddPage {

    private JInternalFrame frame;
    private JTable table;
    private JLabel lblNewLabel;
    private JTextField id;
    private JLabel lblNewLabel_1;
    private JTextField number;
    private JTextField category;
    private JTextField chandi;
    private JTextField price;
    private JLabel label;
    private JLabel label_1;
    private JLabel label_2;
    
    public JInternalFrame getFrame() {
        return frame;
    }

    public void setFrame(JInternalFrame frame) {
        this.frame = frame;
    }

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

    /**
     * Create the application.
     */
    public AddPage() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JInternalFrame();
        frame.setTitle("\u6DFB\u52A0\u9875\u9762");
        frame.setBounds(0, 0, 707, 430);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
        
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(10, 10, 596, 201);
        frame.getContentPane().add(scrollPane);
        
        table = new JTable();
        table.setModel(new DefaultTableModel(
            new Object[][] {
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
            },
            new String[] {
                "id", "\u4EA7\u54C1\u7F16\u53F7", "\u4EA7\u54C1\u7C7B\u522B", "\u4EA7\u54C1\u4EF7\u683C", "\u4EA7\u5730"
            }
        ));
        
        //调用数据服务层类UserService往表格填充数据
        new UserService().fillAll(table);
        
        scrollPane.setViewportView(table);
        
        lblNewLabel = new JLabel("id:");
        lblNewLabel.setBounds(10, 221, 50, 24);
        frame.getContentPane().add(lblNewLabel);
        
        id = new JTextField();
        id.setBounds(103, 223, 126, 22);
        frame.getContentPane().add(id);
        id.setColumns(10);
        
        lblNewLabel_1 = new JLabel("\u4EA7\u54C1\u7F16\u53F7\uFF1A");
        lblNewLabel_1.setBounds(10, 257, 83, 24);
        frame.getContentPane().add(lblNewLabel_1);
        
        number = new JTextField();
        number.setBounds(103, 259, 126, 22);
        number.setColumns(10);
        frame.getContentPane().add(number);
        
        category = new JTextField();
        category.setBounds(103, 293, 126, 22);
        category.setColumns(10);
        frame.getContentPane().add(category);
        
        chandi = new JTextField();
        chandi.setBounds(382, 259, 126, 22);
        chandi.setColumns(10);
        frame.getContentPane().add(chandi);
        
        price = new JTextField();
        price.setBounds(382, 223, 126, 22);
        price.setColumns(10);
        frame.getContentPane().add(price);
        
        label = new JLabel("\u4EA7\u54C1\u7C7B\u522B\uFF1A");
        label.setBounds(10, 291, 83, 24);
        frame.getContentPane().add(label);
        
        label_1 = new JLabel("\u4EA7\u54C1\u4EF7\u683C\uFF1A");
        label_1.setBounds(295, 221, 75, 24);
        frame.getContentPane().add(label_1);
        
        label_2 = new JLabel("\u4EA7\u5730\uFF1A");
        label_2.setBounds(295, 257, 75, 24);
        frame.getContentPane().add(label_2);
        
        JButton tianjia = new JButton("\u6DFB\u52A0");
        tianjia.addActionListener(new ActionListener() {
            
        public void actionPerformed(ActionEvent arg0) {
                //获取页面的五个值
                int id_v = Integer.parseInt(id.getText());
                String number_v = number.getText();
                String category_v = category.getText();
                String price_v = price.getText();
                String chandi_v = chandi.getText();
                //将五个部分拼接成为一个模型层的类对象
                User u = new User(id_v,number_v,category_v,price_v,chandi_v);
                //调用UserDao层的插入方法将数据写入数据库
                UserDao ud = new UserDao();
                ud.insert(u);
                //再次调用服务层的fillAll()方法,更新页面的表格
                UserService us = new UserService();
                us.fillAll(table);
            }
        });
        tianjia.setBounds(382, 291, 82, 24);
        frame.getContentPane().add(tianjia);
        //将窗口设置为可见
        frame.setVisible(true);
    }
}

这是点击添加后出现的结果,如果代码正确应该把数据添加进去了,但是失败,失败了我划线的那个地方也是一闪而过……我不理解是哪里出了错误,还是说是我的MYSQL Workbench里的数据出现了问题?

img


img

img

package service;

import java.util.ArrayList;

import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import Dao.UserDao;
import Model.User;

public class UserService {
     private UserDao ud;

    public UserService() {
        super();
        // TODO Auto-generated constructor stub
        ud = new UserDao();
    }
     //将数据库的所有记录都写入一个JTanle表格控件中
    public boolean fillAll(JTable table) {
        //返回数据库当中用户表的所有记录
        ArrayList list = ud.getAll();
        //准备表格的表头数据
        String[] head = {"id","number","category","price","chandi"};
        //准备表格的内容,一个二维数组
        String[][] content=new String [list.size()][5];
        for(int i=0;i<list.size();i++) {
            //将数组列表中的数据记录对象取出来
            User u = (User)list.get(i);
            //拆开字段
            int id = u.getId();
            String number = u.getNumber();
            String category = u.getCategory();
            String price = u.getPrice();
            String chandi = u.getChandi();
            content[i][0] = id+"";
            content[i][1] =number;
            content[i][2] =category;
            content[i][3] =price;
            content[i][4] =chandi;
        }
        //创建数据模型对象,准备植入到表格中
        DefaultTableModel model = new DefaultTableModel(content,head);
        //将模型填入表格
        table.setModel(model);
        return true;
    }
    //返回部分记录
    //将数据库的所有记录都写入一个JTanle表格控件中
        public boolean fillSome(JTable table,String column,String value) {
            System.out.println("column:"+column);
            //返回数据库当中用户表的所有记录
            ArrayList list = ud.getUsers(column,value);
            //准备表格的表头数据
            String[] head = {"id","number","category","price","chandi"};
            //准备表格的内容,一个二维数组
            String[][] content=new String [list.size()][5];
            for(int i=0;i<list.size();i++) {
                //将数组列表中的数据记录对象取出来
                User u = (User)list.get(i);
                //拆开字段
                int id = u.getId();
                String number = u.getNumber();
                String category = u.getCategory();
                String price = u.getPrice();
                String chandi = u.getChandi();
                content[i][0] = id+"";
                content[i][1] =number;
                content[i][2] =category;
                content[i][3] =price;
                content[i][4] =chandi;
            }
            //创建数据模型对象,准备植入到表格中
            DefaultTableModel model = new DefaultTableModel(content,head);
            //将模型填入表格
            table.setModel(model);
            return true;
        }
    
}

你的sql中需要3个参数,但是你没有传够3个,检查一下。