本文是要把mango集成到Spring中
1. 添加依赖包
<dependency>
<groupId>org.jfaster</groupId>
<artifactId>mango</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
2. 配置数据源工厂
主从库的配置方式
//主从数据源工厂配置
<bean id="rentcarFactory" class="org.jfaster.mango.datasource.MasterSlaveDataSourceFactory">
<property name="name" value="${dispatcher.rentcar.name}"/>
<property name="master" ref="rentcarMaster" />
<property name="slaves">
<list>
<ref bean="rentcarSlave0" />
</list>
</property>
</bean>
//主库配置
<!--rentcar 主库配置-->
<bean id="rentcarMaster" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<constructor-arg index="0" ref="rentcarConfigMaster" />
</bean>
//这里它用了HikariDataSource数据源,传说相当快
<bean id="rentcarConfigMaster" class="com.zaxxer.hikari.HikariConfig">
<property name="poolName" value="rentCarMaster"/>
<property name="driverClassName" value="${jdbc.driver.class.name}" />
<property name="jdbcUrl" value="${dispatcher.rentcar.master.jdbc.url}" />
<property name="username" value="${dispatcher.rentcar.master.jdbc.username}" />
<property name="password" value="${dispatcher.rentcar.master.jdbc.password}" />
<property name="autoCommit" value="${dispatcher.rentcar.master.jdbc.autoCommit}" />
<property name="connectionTimeout" value="${dispatcher.rentcar.master.jdbc.connectionTimeout}" />
<property name="maximumPoolSize" value="${dispatcher.rentcar.master.jdbc.maximumPoolSize}" />
<property name="minimumIdle" value="${dispatcher.rentcar.master.jdbc.minimumIdle}" />
<property name="registerMbeans" value="${dispatcher.rentcar.master.jdbc.registerMbeans}"/>
<property name="initializationFailFast" value="false"/>
<!--<property name="initializationFailTimeout" value="${dispatcher.rentcar.master.jdbc.initializationFailTimeout}"/>-->
<!--<property name="maxLifetime" value="${dispatcher.rentcar.master.jdbc.maxLifetime}"/>-->
</bean>
//从库配置一样
简单的数据源配置
<bean id="cousponFactory" class="org.jfaster.mango.datasource.SimpleDataSourceFactory">
<property name="name" value="${dispatcher.couspon.name}"/>
<property name="dataSource" ref="cousponMaster" />
</bean>
3. 配置mango对象
<bean id="mango" class="org.jfaster.mango.operator.Mango" factory-method="newInstance">
<property name="dataSourceFactories">
<list>
<ref bean="rentcarFactory" />
</list>
</property>
4. 配置扫描使用@DB注解修饰的DAO类
<bean class="org.jfaster.mango.plugin.spring.MangoDaoScanner">
<property name="packages">
<list>
<value>com.sq.dispatcher.core.dao</value>
<value>com.sq.dispatcher.core.bus.dao</value>
</list>
</property>
</bean>
5.dao类的注解
用@DB注解dao类,可添加name、table属性
用@SQL注解到方法上, 这里写sql语句