1、通过配置文件相关联
在Spring的配置文件中
配置数据源-
<!--配置数据源 PooledDataSource数据源配置 -->
<bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource">
<property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/db_zbmanager?serverTimezone=UTC"></property>
<property name="username" value="root"></property>-->
<property name="password" value="root"></property>
</bean>
<!--写成mysqlDataSource时,不用再写drive,不再是username而是user了-->
<bean id="dataSource" class="com.mysql.cj.jdbc.MysqlDataSource">
<property name="url" value="jdbc:mysql://localhost:3306/db_zbmanager?serverTimezone=UTC"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
配置sqlSessionFactory
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!-- 放置数据源-->
<property name="dataSource" ref="dataSource"></property>
<!-- 配置关联mapper的xml-->
<property name="mapperLocations" value="mapper/*.xml"></property>
</bean>
配置service
<bean id="adminService" class="com.lanou.test.service.impl.AdminService" >
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
在mybatis配置文件中
配置映射mapper文件
<mappers>
<mapper resource="mapper/adminmapper.xml"></mapper>
</mappers>
在mapper配置文件中
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 关联Mapper类定义接口 -->
<mapper namespace="test.mappers.AdminMapper">
<select id="findAdmin" resultType="test.bean">
select * from tb_admin where id=#{id}
</select>
</mapper>
2、通过注解式进行关联
在Spring的配置文件中,只需配置开启注解,扫包对象,数据源,和相关联数据源就可以,通过注解可以不再写mybatis配置文件。
<!--开启注解-->
<context:component-scan base-package="com.lanou.test"></context:component-scan>
<!-- 扫包对象-->
<bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lanou.test.mappers"></property>
</bean>
<!--配置数据源-->
<bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource">
<property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/db_zbmanager?serverTimezone=UTC"></property>
<property name="username" value="root"></property>
<property name="password" value="235689"></property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 放置数据源-->
<property name="dataSource" ref="dataSource"></property>
</bean>
也可以不用再写与service关联的bean,只需要再service类上加上
@Component("adminService")
在mapper类上写上
@Repository
如果不想写mapper配置文件,可以直接在方法上方使用注解写上sql语句
@Select("select * from tb_admin where id=#{id} ")
也可以在在mapper的xml文件中写sql语句(推荐保留mapper配置文件)