首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

【openfire插件开发】数据库处置部分(openfire数据库模式)

2013-07-08 
【openfire插件开发】数据库处理部分(openfire数据库模式)我们都知道,openfire的二次开发一般都是以插件形式

【openfire插件开发】数据库处理部分(openfire数据库模式)

我们都知道,openfire的二次开发一般都是以插件形式组织的。openfire已有数据库及数据表。今天我们来讲,我们进行插件开发的时候,如何创建自己的数据表,添加到openfire原有的数据库中。

?

1.写数据库创建的脚本。

插件src目录下新建database文件夹,目录结构如下所示:

?【openfire插件开发】数据库处置部分(openfire数据库模式)

在database目录下新建testPlugin_mysql.sql,内容如下:

【openfire插件开发】数据库处置部分(openfire数据库模式)
INSERT INTO ofVersion (name, version) VALUES ('testplugin', 0);

CREATE TABLE messageHistory (
messageID BIGINT NOT NULL auto_increment,
date VARCHAR(15) NOT NULL,
fromUsername VARCHAR(64) NOT NULL ,
toUsername VARCHAR(64) NOT NULL,
messageSize INT ,
stanza TEXT NOT NULL,
PRIMARY KEY (messageID)
);
【openfire插件开发】数据库处置部分(openfire数据库模式)

?

INSERT INTO ofVersion (name, version) VALUES ('testplugin', 0);

?

2.修改plugin.xml。添加两行语句:

  <databaseKey>testplugin</databaseKey>

???? ?<databaseVersion>0</databaseVersion>

?

3.编译testPlugin插件,并运行openfire。我们看到控制台输出:

?【openfire插件开发】数据库处置部分(openfire数据库模式)

?

4.我们可以打开数据库,看到已经新建了一个数据表。如下图:

【openfire插件开发】数据库处置部分(openfire数据库模式)

?

?

?????? 总结:我们看到,我们已经创建了自己的数据库表,并已与openfire原有的数据库表整合在了一起。如果我们要对数据表进行操作的话,可以用类似下面的语句:

【openfire插件开发】数据库处置部分(openfire数据库模式)
Connection con = null;

PreparedStatement pstmt = null;

String sql = “INSERT INTO messageHistory(date, fromUsername, toUsername, messageSize, stanza) VALUES('20111212', 'hcc', 'erin', '10', 'this is your content')”;

DbConnectionManager.getConnection();

pstmt = con.prepareStatement(sql);

pstmt.executeUpdate();
【openfire插件开发】数据库处置部分(openfire数据库模式)

?????? 下次有时间讲讲Interceptor,或者简单工厂模式/策略模式吧。

http://www.cnblogs.com/ErinCodeMM/archive/2011/12/12/2285079.html

热点排行