Java 我怎样才能把东西放进数据库?

Java 我怎样才能把东西放进数据库?,java,eclipse,gwt,categories,mapdb,Java,Eclipse,Gwt,Categories,Mapdb,package faq.server; 导入java.util.ArrayList; 导入java.util.concurrent.ConcurrentMap; 导入org.mapdb.DB; 导入faq.shared.Category; 导入faq.shared.CategoryComponent; 导入faq.shared.CategoryIterator; 导入faq.shared.Question; /**多曼德纪念堂 * *在所有内部数据库中,我们都能记住这些信息 *请记住分类。 *这

package faq.server;
导入java.util.ArrayList;
导入java.util.concurrent.ConcurrentMap;
导入org.mapdb.DB;
导入faq.shared.Category;
导入faq.shared.CategoryComponent;
导入faq.shared.CategoryIterator;
导入faq.shared.Question;
/**多曼德纪念堂
*
*在所有内部数据库中,我们都能记住这些信息
*请记住分类。
*这是一个相对确定的范畴。
* 
*
*/
公共类问题处理程序
{
//数据库
私人数据库;
//阿尔贝里桡骨肌
私有ConcurrentMap类别映射;
//oggetto per la gestione delle categorie
私有类别HandlerImpl categoryHandler;
公共空间清除(){
categoryMap.clear();
categoryHandler.clear();
}
公共问题处理程序(DB DB,分类处理程序处理程序分类处理程序)
{
这个.db=db;
this.categoryMap=this.db.getTreeMap(“category”);
this.categoryHandler=categoryHandler;
}
公共问题(类别、问题)
{
Category root=this.categoryMap.get(“根”);
Category categoria=categoryHandler.getCategory(Category.getName(),root);
A类.添加(问题);
问题.集合类别(A类);
categoryMap.replace(“根”),categoryMap.get(“根”),root);
this.db.commit();
}
公共无效移除问题(类别,问题)
{
Category root=this.categoryMap.get(“根”);
Category categoria=categoryHandler.getCategory(Category.getName(),root);
类别.删除(问题);
categoryMap.replace(“根”),categoryMap.get(“根”),root);
this.db.commit();
}
//图特·勒·多曼德相对分类
公共阵列列表getQuestions(类别)
{
Category root=this.categoryMap.get(“根”);
Category categoria=categoryHandler.getCategory(Category.getName(),root);
ArrayList res=新的ArrayList();
CategoryIterator sfogliaCategoria=(CategoryIterator)categoria.createIterator();
while(sfogliaCategoria.hasNext())
{
CategoryComponent Component=(CategoryComponent)sfogliaCategoria.next();
if(问题的组件实例)
{
决议添加((问题)部分);
}
其他的
{
res.addAll(getQuestions((Category)component));
}
}
res.trimToSize();
返回res;
}
公共阵列列表getAllQuestions()
{
Category root=this.categoryMap.get(“根”);
返回getQuestions(root);
}

}
您需要调试它,但调用addSubcategory方法时似乎出现了错误

addCategory( "Scienze" );
addSubCategory( null , "Ecologia" );
addSubCategory( null , "Programmazione" );
addSubCategory( null , "JavaScript" );
addSubCategory( null , "Java" );
addSubCategory( null , "PHP" );
通过以下方式更改该代码:

Category scienze = addCategory( "Scienze" );
addSubCategory( scienze , "Ecologia" );
addSubCategory( scienze , "Programmazione" );
addSubCategory( scienze , "JavaScript" );
addSubCategory( scienze , "Java" );
addSubCategory( scienze , "PHP" );

似乎populate方法将填充您的数据库,同时检查CategoryHandlerImpl的实现,如果您有一个对象但有一个字符串,请使用对象的某个唯一值以一个字符串调用addCategory()方法。如果这不起作用,您将不得不调试“我不能”不是一个非常有用的错误描述。到底出了什么问题?这是编译错误还是运行时错误?向我们显示整个错误消息。对于运行时错误,整个堆栈trace.addSubCategory(Cetegory category,String name)因此在方法poulate中如何使用对象“category”添加子类别?现在我把“null”改成了,但是错了@cralfaro@mrstrap检查我的回答和工作。谢谢。。但答案和问题呢@cralfarois同样的原则,请阅读Answerhandler和questionHandler@mrstrap用new question()创建一个问题,用addQuestion(question,category)添加到类别中,世界将继续…阅读代码并添加调试器,这样您就可以了解如何工作非常简单