datasource是配置数据源,顾名思义就是数据的来源,在数据源中可以配置数据是从何而来,可以是mysql,也可以是oracle,所以可以如下配置
<
bean
id
="dataSource"
class
="org.apache.commons.dbcp.BasicDataSource"
destroy-method
="close"
>
<
property
name
="driverClassName"
value
="${driverClassName}"
/>
<
property
name
="url"
value
="${jdbcUrl}"
/>
<
property
name
="username"
value
="${jdbcUsername}"
/>
<
property
name
="password"
value
="${jdbcPassword}"
/>
<
property
name
="maxActive"
value
="${maxActive}"
/>
<
property
name
="initialSize"
value
="${initialSize}"
/>
<
property
name
="maxWait"
value
="${maxWait}"
/>
<
property
name
="minIdle"
value
="${minIdle}"
/>
</
bean
>
如上说明数据源是从mysql来的,所以数据源中配置了驱动名称mysql,以及账号密码
如上其实也是配置一种连接池,有dbcp连接池,也有c3p0连接池,如上配置的是dbcp连接池
所以上面也配置了连接池的相关信息,比如最大连接数,初始连接数等
所以如上配置的意思就是:dbcp连接池中的连接就是mysql数据库的连接,mysql数据库就是数据源
jdbc接口就是从数据源(连接池)中获取连接来访问数据库(mysql,oracle),所以在
sqlSessionFactory中需要数据源的信息,所以可以如下配置:
<
bean
id
="sqlSessionFactory"
class
="org.mybatis.spring.SqlSessionFactoryBean"
>
<
property
name
="dataSource"
ref
="dataSource"
/>
<
property
name
="mapperLocations"
value
="classpath:mapper/*.xml"
/>
<!--<property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml"/>-->
</
bean
>
如果访问数据库是通过mybatis来访问,那么mybatis底层必然是通过
sqlSessionFactory
来访问的数据库,所以要给mybatis配置
sqlSessionFactory
,所以可以如下配置:
<
bean
class
="org.mybatis.spring.mapper.MapperScannerConfigurer"
>
<
property
name
="basePackage"
value
="com.verify.dao"
/>
<
property
name
="sqlSessionFactoryBeanName"
value
="sqlSessionFactory"
/>
</
bean
>
mysql的账号驱动等相关信息一般是配置在配置文件中,所以可以通过如下方式来引入配置文件,从而获取配置文件中的参数信息
<
bean
class
="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
>
<
property
name
="location"
value
="classpath:conf/web-jdbc.properties"
/>
</
bean
>