mybatis,mysql,datasource,dpcb连接池的关系

来源:互联网 发布:java魔法门2手机版攻略 编辑:程序博客网 时间:2024/06/16 03:30
datasource是配置数据源,顾名思义就是数据的来源,在数据源中可以配置数据是从何而来,可以是mysql,也可以是oracle,所以可以如下配置
<beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close">
<propertyname="driverClassName"value="${driverClassName}"/>
<propertyname="url"value="${jdbcUrl}"/>
<propertyname="username"value="${jdbcUsername}"/>
<propertyname="password"value="${jdbcPassword}"/>

<propertyname="maxActive"value="${maxActive}"/>
<propertyname="initialSize"value="${initialSize}"/>
<propertyname="maxWait"value="${maxWait}"/>
<propertyname="minIdle"value="${minIdle}"/>
</bean>
如上说明数据源是从mysql来的,所以数据源中配置了驱动名称mysql,以及账号密码
如上其实也是配置一种连接池,有dbcp连接池,也有c3p0连接池,如上配置的是dbcp连接池
所以上面也配置了连接池的相关信息,比如最大连接数,初始连接数等
所以如上配置的意思就是:dbcp连接池中的连接就是mysql数据库的连接,mysql数据库就是数据源

jdbc接口就是从数据源(连接池)中获取连接来访问数据库(mysql,oracle),所以在sqlSessionFactory中需要数据源的信息,所以可以如下配置:
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<propertyname="dataSource"ref="dataSource"/>
<propertyname="mapperLocations"value="classpath:mapper/*.xml"/>
<!--<property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml"/>-->
</bean>

如果访问数据库是通过mybatis来访问,那么mybatis底层必然是通过sqlSessionFactory来访问的数据库,所以要给mybatis配置sqlSessionFactory,所以可以如下配置:
<beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">
<propertyname="basePackage"value="com.verify.dao"/>
<propertyname="sqlSessionFactoryBeanName"value="sqlSessionFactory"/>
</bean>

mysql的账号驱动等相关信息一般是配置在配置文件中,所以可以通过如下方式来引入配置文件,从而获取配置文件中的参数信息
<beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<propertyname="location"value="classpath:conf/web-jdbc.properties"/>
</bean>
0 0