java 读取组合框里的数据库_使用Java中的hibernate从数据库填充组合框

Heyy;

我正在使用java中的hibernate开发一个基于swing的小应用程序.我想从数据库coloumn填充组合框.我怎么能这样做?

而且我不知道我需要在哪里(在initComponents下,buttonActionPerformd).

为了使用jbutton保存我,它的代码在这里:

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

int idd=Integer.parseInt(jTextField1.getText());

String name=jTextField2.getText();

String description=jTextField3.getText();

Session session = null;

SessionFactory sessionFactory = new Configuration().configure()

.buildSessionFactory();

session = sessionFactory.openSession();

Transaction transaction = session.getTransaction();

try {

ContactGroup con = new ContactGroup();

con.setId(idd);

con.setGroupName(name);

con.setGroupDescription(description);

transaction.begin();

session.save(con);

transaction.commit();

} catch (Exception e) {

e.printStackTrace();

}

finally{

session.close();

}

}

解决方法:

我不使用Hibernate,但是给定一个名为Customer的JPA实体和一个名为CustomerJpaController的JPA控制器,你可以这样做.

更新:代码已更新,以反映切换到EclipseLink(JPA 2.1)作为持久性库.

import java.awt.EventQueue;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.List;

import javax.swing.JComboBox;

import javax.swing.JFrame;

/**

* @see https://stackoverflow.com/a/2531942/230513

*/

public class CustomerTest implements Runnable {

public static void main(String[] args) {

EventQueue.invokeLater(new CustomerTest());

}

@Override

public void run() {

CustomerJpaController con = new CustomerJpaController(

Persistence.createEntityManagerFactory("CustomerPU"));

List list = con.findCustomerEntities();

JComboBox combo = new JComboBox(list.toArray());

combo.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

JComboBox cb = (JComboBox) e.getSource();

Customer c = (Customer) cb.getSelectedItem();

System.out.println(c.getId() + " " + c.getName());

}

});

JFrame f = new JFrame();

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.add(combo);

f.pack();

f.setVisible(true);

}

}

添加到JComboBox的对象从对象的toString()方法获取其显示名称,因此修改了Customer以返回getName()以用于显示目的:

@Override

public String toString() {

return getName();

}

标签:jcombobox,java,database,hibernate,swing

来源: https://codeday.me/bug/20190917/1808860.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值