一、 在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建表的例子:如下图所示
@@@@@@@@@@@ 建表 @@@@@@@@@@@@@
@@@@@@@@@@@@@@ 插入数据和查询数据 @@@@@@@@@@@@@@@@@@@