Java 将数据插入数据库(mongodb)
我使用了以下代码将数据插入mongodb数据库……问题是,我必须明确指定要输入的数据,但我需要动态地执行此操作……在使用GUI的意义上,文本框中输入的任何内容都必须放入数据库中Java 将数据插入数据库(mongodb),java,swing,mongodb,Java,Swing,Mongodb,我使用了以下代码将数据插入mongodb数据库……问题是,我必须明确指定要输入的数据,但我需要动态地执行此操作……在使用GUI的意义上,文本框中输入的任何内容都必须放入数据库中 private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 512, 355); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fra
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 512, 355);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel lblNewLabel = new JLabel("Name");
lblNewLabel.setBounds(42, 33, 95, 30);
frame.getContentPane().add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("Manufacturer");
lblNewLabel_1.setBounds(42, 74, 80, 30);
frame.getContentPane().add(lblNewLabel_1);
textField = new JTextField();
textField.setBounds(147, 33, 122, 25);
frame.getContentPane().add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setBounds(147, 79, 122, 25);
frame.getContentPane().add(textField_1);
textField_1.setColumns(10);
JButton btnInsert = new JButton("Insert");
btnInsert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
MongoClient mongoClient = null;
DBCursor cursor = null;
try {
mongoClient = new MongoClient( "localhost" , 27017 );
DB db = mongoClient.getDB( "sample" );
DBCollection coll = db.getCollection("sample");
BasicDBObject doc = new BasicDBObject("title", "MongoDB").
append("name","a" ).
append("manufacturer", "b").
append("colour", "c").
append("price", "d");
coll.insert(doc);
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );}
}
});
btnInsert.setBounds(148, 223, 89, 23);
frame.getContentPane().add(btnInsert);
JLabel lblNewLabel_2 = new JLabel("Colour");
lblNewLabel_2.setBounds(42, 127, 65, 25);
frame.getContentPane().add(lblNewLabel_2);
textField_2 = new JTextField();
textField_2.setBounds(147, 129, 122, 25);
frame.getContentPane().add(textField_2);
textField_2.setColumns(10);
JLabel lblNewLabel_3 = new JLabel("Price");
lblNewLabel_3.setBounds(37, 175, 70, 25);
frame.getContentPane().add(lblNewLabel_3);
textField_3 = new JTextField();
textField_3.setBounds(147, 177, 122, 25);
frame.getContentPane().add(textField_3);
textField_3.setColumns(10);
}
}
我有一个前端,它有4个文本框,上面写着名称、制造商、颜色和价格……因此,我在文本框中输入的任何内容都应该输入到数据库中……但是在上面的代码中,插入只能通过显式指定值来完成……因此我需要将其更改为通用方法 只需将其更改为:
String name = nameField.getText();
String manufacturer = manufacturerField.getText();
String color = colorField.getText();
String price = priceField.getText();
BasicDBObject doc = new BasicDBObject("title", "MongoDB").
append("name", name ).
append("manufacturer", manufacturer).
append("colour", color).
append("price", price);
coll.insert(doc);
这就是你想要的吗?问题是什么/你想实现什么?我猜这很容易实现,只需使用getText从字段中获取文本,而不使用硬编码值,不是吗?我真的不明白问题出在哪里?文档格式是动态的还是数据的问题?我有一个前端,它有4个文本框,上面写着名称、制造商、,颜色和价格…因此,我在文本框中输入的任何内容都应放入数据库中…但是,在上述代码中,插入只能通过显式指定值来完成…因此我需要将其更改为通用方法…我是否要导入任何内容????它说它不能解析namefield等等…这只是我编的一个名字。它应该是文本字段的变量名,如textField_1。我只是不知道哪些字段对应于哪个条目类型。不,先生,它不起作用…它表明无法序列化类javax.swing.JTextField…非常感谢,先生…它起作用了…如果我有疑问,我可能会再次麻烦你…请不要介意。。。