日期:2014-05-16  浏览次数:20400 次

连接MongoDB数据库的代码应该写在哪里?

BuguMongo是一个轻量级的MongoDB Java开发框架,集成了DAO、Query、Lucene、GridFS等功能。

?

经常有朋友在群里问:使用BuguMongo做开发,连接数据库的代码应该写在哪里?

?

如果是开发Java Application,那么连接数据库的代码可能是写在main()方法里;如果开发的是web应用,那么可以在web.xml里添加一个监听器,比如:

?

<listener>
    <listener-class>com.xbwen.context.SystemInitListener</listener-class>
</listener>
?
SystemInitListener是自己定义的一个监听器,用来在系统启动的时候进行一些初始化设置,在系统关闭的时候回收资源。使用BuguConnection连接MongoDB数据库,使用BuguIndex初始化索引参数,都可以写在里面。如:

package com.xbwen.context;

import com.bugull.mongo.BuguConnection;
import com.bugull.mongo.lucene.BuguIndex;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class SystemInitListener implements ServletContextListener{
    @Override
    public void contextInitialized(ServletContextEvent event) {
        //连接数据库
        BuguConnection conn = BuguConnection.getInstance();
        conn.connect("192.168.0.100", 27017, "test", "test", "test");
	
        //设置Lucene索引
        BuguIndex index = BuguIndex.getInstance();
        index.setDirectoryPath("/data/lucene_index/");
        index.open();
    }
 
    @Override
    public void contextDestroyed(ServletContextEvent event) {
        BuguIndex.getInstance().close();
        BuguConnection.getInstance().close();
    }

}
?