1、 取得jdbcldap驱动程序
从http://www.openldap.org/取得Octet String 提供的开源Java JDBC - LDAP Bridge Driver包,即jdbcLdap.jar,并把此jar包加入到应用的lib目录中。
2、 配置连接ldap数据源的参数
在应用的init.properties文件中配置连接ldap数据源的参数,代码如下:
ldap.datasource.driverClassName=com.octetstring.jdbcLdap.sql.JdbcLdapDriver
ldap.datasource.url=jdbc:ldap://localhost:389/dc=fancy,dc=Com?SEARCH_SCOPE:=subTreeScope
ldap.datasource.username=cn=admin,o=com
ldap.datasource.password=fancy
ldap.hibernate.dialect=net.sf.hibernate.dialect.GenericDialect
hibernate.jdbc.batch_size=25
hibernate.jdbc.fetch_size=50
hibernate.show_sql=true
3、 配置数据源和会话工厂
在应用的spring应用上下文配置文件applicationContext.xml中设置数据源,代码如下:
<bean id="ldapDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${ldap.datasource.driverClassName}</value>
</property>
<property name="url">
<value>${ldap.datasource.url}</value>
</property>
<property name="username">
<value>${ldap.datasource.username}</value>
</property>
<property name="password">
<value>${ldap.datasource.password}</value>
</property>
</bean>
<bean id="ldapSessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource"><ref local="ldapDataSource"/></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${ldap.hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
<prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
</props>
</property>
</bean>
4、 配置对会话工厂的引用关系
在应用的spring应用上下文配置文件applicationContext.xml中设置DAO对会话工厂的引用关系,代码如下:
<bean id="userInfoDAO" class="com.laoer.bbscs.dao.hibernate.UserInfoHibernateDAO">
<property name="sessionFactory">
<ref local="ldapSessionFactory"/>
</property>
</bean>