2、环境准备
1、编写dataResource数据源<br>
<pre style="background-color: rgb(43, 43, 43); font-family: "JetBrains Mono", monospace; font-size: 9.8pt; color: rgb(169, 183, 198);"> <!--DataSource:使用Spring的数据源替换Mybatis的配置 c3p0 dbcp druid<br> 我们这里使用Spring提供的JDBC:org.springframework.jdbc.datasource.DriverManagerDataSource<br> --><br> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><br> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=utf-8&SetTimezone=CTT"/><br> <property name="username" value="root"/><br> <property name="password" value="root"/><br> </bean><br></pre>
2、注册SqlSessionFactory<br>
<pre style="background-color: rgb(43, 43, 43); font-family: "JetBrains Mono", monospace; font-size: 9.8pt; color: rgb(169, 183, 198);"> <!--SqlSessionFactory--><br> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><br> <property name="dataSource" ref="dataSource"/><br> <!--绑定Mybatis配置--><br> <property name="configLocation" value="classpath:mybatis-config.xml"/><br> <property name="mapperLocations" value="classpath:com/learning/mapper/*.xml"/><br> </bean><br></pre>
3、注册SqlSessionTemplate<br>
<pre style="background-color: rgb(43, 43, 43); font-family: "JetBrains Mono", monospace; font-size: 9.8pt; color: rgb(169, 183, 198);"> <!--SqlSessionTemplate:就是我们使用的SqlSession--><br> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"><br> <!--SqlSessionTemplate没有set方法,只能通过构造函数注入参数--><br> <constructor-arg index="0" ref="sqlSessionFactory"/><br> </bean><br></pre>
4、把实现的mapper注册进spring
<pre style="background-color: rgb(43, 43, 43); font-family: "JetBrains Mono", monospace; font-size: 9.8pt; color: rgb(169, 183, 198);"> <bean id="userMapper" class="com.learning.mapper.UserMapperImpl"><br> <property name="sqlSession" ref="sqlSession"/><br> </bean><br></pre>
3、测试
1、使用set绑定SqlSession
<pre style="background-color: rgb(43, 43, 43); font-family: "JetBrains Mono", monospace; font-size: 9.8pt; color: rgb(169, 183, 198);"> <!--绑定SqlSession--><br> <bean id="userMapper" class="com.learning.mapper.UserMapperImpl"><br> <property name="sqlSession" ref="sqlSession"/><br> </bean><br></pre><br>
<pre style="background-color: rgb(43, 43, 43); font-family: "JetBrains Mono", monospace; font-size: 9.8pt; color: rgb(169, 183, 198);">package com.learning.mapper;<br><br>import com.learning.pojo.User;<br>import org.mybatis.spring.SqlSessionTemplate;<br><br>import java.util.List;<br><br>public class UserMapperImpl implements UserMapper{<br> //之前所有用SqlSession的地方都改成SqlSessionTemplate<br> private SqlSessionTemplate sqlSession;<br><br> public void setSqlSession(SqlSessionTemplate sqlSession) {<br> this.sqlSession = sqlSession;<br> }<br><br> public List<User> getAllUser() {<br> UserMapper mapper = sqlSession.getMapper(UserMapper.class);<br> return mapper.getAllUser();<br> }<br>}<br></pre>
2、继承SqlSessionDaoSupport
<pre style="background-color: rgb(43, 43, 43); font-family: "JetBrains Mono", monospace; font-size: 9.8pt; color: rgb(169, 183, 198);"> <!--绑定sqlSessionFactory--><br> <bean id="userMapper2" class="com.learning.mapper.UserMapperImpl2"><br> <property name="sqlSessionFactory" ref="sqlSessionFactory"/><br> </bean><br></pre>
<pre style="background-color: rgb(43, 43, 43); font-family: "JetBrains Mono", monospace; font-size: 9.8pt; color: rgb(169, 183, 198);">package com.learning.mapper;<br><br>import com.learning.pojo.User;<br>import org.mybatis.spring.support.SqlSessionDaoSupport;<br><br>import java.util.List;<br><br>public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper {<br> public List<User> getAllUser() {<br> return getSqlSession().getMapper(UserMapper.class).getAllUser();<br> }<br>}<br></pre>