java学习--Spring集成Mybatis
一、导包:
spring-webmvc,mybatis,mybatis-spring,dbcp,ojdbc,spring-jdbc,junit
二、添加spring被指文件,(不需要添加mybatis配置文件,添加SqlSessionFactoryBean来代替)
<!-- 配置SqlsessionFactoryBean --> <bean id="ssfd" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="ds"/> <property name="mapperLocations" value="classpath:entity/*.xml"/> </bean>
三、写实体类
四、写映射文件
五、Mapper映射器
(1)什么是Mapper映射器?
符合映射文件要求的接口。
注:MyBatis会生成符合该接口要求的对象。
(2)具体要求
a.方法名要与sql的id一致。
b.方法的参数类型要与parameterType一致。
c.方法的返回类型要与resultType一致。
d.映射文件的namespace要等于接口的完整的名字。
六、配置MapperScannerConfigurer
<!-- 配置MapperScannerConfiger --> <bean class=" org.mybatis.spring.mapper.MapperScannerConfigurer" > <!-- 注入映射器所在的包名 --> <property name="basePackage" value="dao"/> <!-- 只扫描带有特定注解的接口 --> <property name="annotationClass" value="dao.MyBatisRepository"/> </bean>
注:该bean会扫描指定包及其子包下面的所有的Mapper映射器
(即接口),然后调用getMapper方法获得映射器的实现(比如,
调用 EmployeeDAO dao = SqlSession.getMapper(EmployeeDAO.class))。并且,将这些对象添加到Spring容器里面
(默认的id是首字母小写之后的接口名,可以使用@Repository重命名)。
注:只扫描特定的接口。
step1. 开发一个注解。
step2. 将该注解添加到需要扫描的接口之上。
step3. 修改MapperScannerConfigurer的配置。