一、 在JBuilderX中开发BMP
会话Bean clientHandle,暂时没什么用不做讲解。
Bean管理的持久性-BMP这里详细讲解(DBhandle)。
1.1 域 m_Id、m_Name、m_City是与数据库samp_db中的member表中的记录列一一对应的。
1.2 m _conn用于保存从连接池中取得的数据库连接。
1.3 m _pstmt是一个用m_conn取得的语句对象
1.4 getConnection是自定义的一个从连接池取连接的方法。
1.5 selectAll查询member表中的所有记录加入到Vector中。此Remote方法供客户端使用。
1.6 ejbStore保存数据到数据库中,以更新数据库中的记录。此函数由容器自动调用!
1.7 ejbLoad从数据库读取数据,以更新BMP的内容。此函数由容器自动调用!
1.8 ejbFindByPrimaryKey按主键在数据库的member表中查询。
一、 在MySql中建表
2.1 表结构如下图所示:
2.1 使MySql支持中文的配置。
配置C:/Windows/my.ini文件。在[mysqld]和[client]项目下加入default-character-set=gbk使用GBK编码。如果没有[client]项,就创建一个!
如下图所示:
[mysqld]
default-character-set=gbk
[client]
default-character-set=gbk
三、 配置JBoss
3.1 从www.mysql.org下载mysql的jdbc的驱动程序。将该驱动拷贝到:JBOSS安装目录F:/jboss3_tomcat4/lib 下。如下图所示,我目前使用的是mysql-connector-java- 3.0.12 -production.zip压缩包中的mysql-connector-java-3.0.12-production-bin.jar文件将该驱动拷贝到:JBOSS安装目录F:/jboss3_tomcat4/lib下。
3.2将 JBOSS安装目录/docs/examples/jca 下的文件:mysql-service.xml 拷贝到JBOSS安装目录/server/default/deploy 目录下。
"这里出于显示的原因尖括号〈,〉都用大括号{,}替换了,使用时需重新换为尖括号"
3.3 JBOSS安装目录/server/default/deploy/mysql-service.xml
{attribute name="JndiName"}MySqlDS{/attribute}
{attribute name="ManagedConnectionFactoryProperties"}
{properties}
{config-property name="ConnectionURL" type="java.lang.String"}
jdbc:mysql://mysql服务器的IP地址:3306/数据库名
{/config-property}
{config-property name="DriverClass" type="java.lang.String"}
com.mysql.jdbc.Driver
{/config-property}
{config-property name="UserName" type="java.lang.String"}
输入你的用户名
{/config-property}
{config-property name="Password" type="java.lang.String"}
输入你的密码
{/config-property}
{/properties}
{/attribute}
3.4 JBOSS安装目录/server/default/conf/standardjbosscmp-jdbc.xml
{jbosscmp-jdbc}
{defaults}
{datasource}java:/MySqlDS{/datasource}
{datasource-mapping}mySQL{/datasource-mapping}
3.5 JBOSS 安装目录/server/default/conf/standardjaws.xml
{jaws}
{datasource}java:/MySqlDS{/datasource}
{type-mapping}mySQL{/type-mapping}
{debug}false{/debug}
3.6 JBOSS安装目录/server/default/conf/login-config.xml
{application-policy name = "MySqlDbRealm"}
{authentication}
{login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required"}
{module-option name = "principal"}root{/module-option}
{module-option name = "userName"}输入你的用户名{/module-option}
{module-option name = "password"}输入你的密码{/module-option}
{module-option name = "managedConnectionFactoryName"}
jboss.jca:service=LocalTxCM,name=MySqlDS
{/module-option}
{/login-module}
{/authentication}
{/application-policy}
3.7 可以用如下代码取得数据库连接池中的连接
InitialContext jct = new InitialContext();
DataSource ds = (DataSource)jct.lookup("java:/MySqlDS");
System.out.println("successful find MySqlDS");
Connection conn = ds.getConnection();
四、 启动JBoss和MySql后在JBuilderX中的运行结果如下图所示:
注意:乱码是由于插入的数据长度超过了表中定义的长度!只要将MySql表中的记录项定义为合适的类型长度就可以消除乱码了!!!
附加:MySql建表的例子:如下图所示
@@@@@@@@@@@ 建表 @@@@@@@@@@@@@
@@@@@@@@@@@@@@ 插入数据和查询数据 @@@@@@@@@@@@@@@@@@@