第一种方式
在Spring配置文件中配置Dao接口的实现类,使用set注入的方式,将配置文件中配置好的的sqlSession注入。
public class LoginImpl implements Login{
private SqlSessionTemplate sqlSession = null;
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
public Person login(Person person) {
return null;
}
}
<!--sqlSession-->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory"/>
</bean>
<!--向LoginImpl中注入sqlSession-->
<bean id="loginImpl" class="com.dao.LoginImpl">
<property name="sqlSession" ref="sqlSession"/>
</bean>
第二种方式
Dao的实现类中直接继承SqlSessionDaoSupport,在Spring配置文件中直接将sqlSessionFactory set注入到实现类中。
public class LoginImpl1 extends SqlSessionDaoSupport implements Login{
public Person login(Person person) {
return null;
}
}
<!--直接注入sqlSessionFactory-->
<bean id="loginImpl1" class="com.dao.LoginImpl1">
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
SqlSessionDaoSupport
第三种方式
动态注入sqlSession,不写接口的实现类。
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入sqlSessionFactory-->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!-- 需要扫描的包-->
<property name="basePackage" value="com.dao"/>
</bean>