まずは設定から †JDBCドライバをJBossに配置 †
今回は mysql-connector-java-3.1.11-bin.jar にしました。
データソースの設定を配置 †mysql-ds.xmlを${INSTALL_ROOT}/server/default/deploy に配置 mysql-ds.xml はこんな感じにしました。 <?xml version="1.0" encoding="UTF-8"?> <!-- $Id: mysql-ds.xml,v 1.3.2.1 2004/12/01 11:46:00 schrouf Exp $ --> <!-- Datasource config for MySQL using 3.0.9 available from: http://www.mysql.com/downloads/api-jdbc-stable.html --> <datasources> <local-tx-datasource> <jndi-name>MySqlDS</jndi-name> <connection-url>jdbc:mysql://[ノード名]:3306/webdb1?useUnicode=true& characterEncoding=ujis</connection-url> <!-- <driver-class>org.gjt.mm.mysql.Driver</driver-class> --> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>[id]</user-name> <password>[pass]</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor. MySQLExceptionSorter</exception-sorter-class-name> <!-- sql to call when connection is created <new-connection-sql>some arbitrary sql</new-connection-sql> --> <!-- sql to call on an existing pooled connection when it is obtained from pool <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> --> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources> 設定はこれだけです。これで、 java:/MySqlDS というJNDI名*1でMySQLへのデータソースがコンテナに登録されます。 実際のコーディング †実際のコーディングは以下の通り
Hibernateと連携する †これでMySQLにデータソース経由で接続することができました。さて次はHibernateを使って接続してみます。といってもJBossだからといってHibernateの設定のやり方が変わるわけでもなく、通常のHibernateどおり hibernate.cfg.xmlで設定をします。ただ、Connectionを直接取得するのではなく、JBossのデータソースを使用したい場合は以下のように記述します。 <?xml version="1.0" ?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd" > <hibernate-configuration> <session-factory> <!-- Datasourceを使う場合はこちら --> <property name="connection.datasource">java:comp/env/jdbc/MySqlDS</property> <!--MySQL JDBC Driver connection --> <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <!-- JDBC直接使用する場合はこちら --> <!-- <property name="connection.url">jdbc:mysql://[ノード名]/[スキーマ名]? useUnicode=true&characterEncoding=EUC_JP</property> --> <property name="connection.username">[id]</property> <property name="connection.password">[pass]</property> <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="use_outer_join">true</property> <!-- Mapping files --> <mapping resource="nu/mine/kino/rss/hibernate/Rss.hbm.xml" /> </session-factory> </hibernate-configuration> この記事は 現在のアクセス:26393 |