1. 无mybatis 配置文件整合spring
这样只是有spring 的配置文件。并无mybatis 的主配置文件。这样配置基本就可以了。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--扫描-->
<context:component-scan base-package="com.lzy"/>
<!--配置文件的加载-->
<context:property-placeholder location="jdbc.properties"/>
<!--数据库连接池配置-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!--SqlSessionFactoryBean 的配置-->
<bean id="sessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="typeAliasesPackage" value="com.lzy.pojo"/>
</bean>
<!-- 配置mapper 扫描, 放入spring 容器中-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lzy.mapper"/>
</bean>
</beans>
2. 出现的问题。及解决办法。
上面的配置,基本的使用是没有问题的。但是问题来了。
那原来mybatis 主配置文件的内容 放到spring 的这个配置文件中 怎么配置啊?
举个例子:
我想打印mybatis 的日志,可以理解为打印其执行的sql 语句吧。
- 在mybatis 的主配置文件的配置如下:
<configuration>
<!-- ............... -->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<!-- ............... -->
</configuration>
- 放到spring 中的配置如下:
直接开门见山 说怎么配, 那么后面再说为什么
3. 这么配置的原因
那么在出现此问题之后,我第一时间肯定是去mybatis - spring 整合开发的 官方文档中去找。
大概看了一下目录,好像并没有发现什么有价值的东西。
直到我看到这么一行配置的时候,我恍然大悟:
我看到了 Configuration 类。 我想到了: mybatis 的主配置文件是会被解析放到 Configuration 对象中的。(这句话不明白的 请看这篇文章 点击传送 )
那么既然这样。我们直接配置此对象,直接给他设置相应的属性,不就相当于我们配置了mybatis 主配置文件了么?
那么就开始实行
补充:一个基础的问题,我有必要提一下。 上面的图有一句话 “这里需要的是一个全限定类名” 我是这么说的,下面我来说一下原因。虽然这个问题比较的基础。
4. 总结
如果你想配置别的,就直接在Configuration 对象找对应的属性给其设置值。
如果你是基于全注解(java-config) 的话,那也一样,你就是吧xml 转换成java-config 的形式就行了。
如果你想配置别的,就直接在Configuration 对象找对应的属性给其设置值。
如果你是基于全注解(java-config) 的话,那也一样,你就是吧xml 转换成java-config 的形式就行了。