spring和mybatis整合03

本文详细介绍如何在Spring框架中集成MyBatis,包括配置SqlMapConfig.xml与applicationContext.xml,实现UserDao接口以完成数据库操作,并通过单元测试验证功能正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1

2.config/配置文件

SqlMapConfig.xml

		<!-- 和spring整合后,使用mapper扫描器,这里不需要配置了 -->
		<!-- <package name="com.app.ssm.mapper" /> -->

spring/applicationContext.xml

	<!-- Mapper包实现类 -->
	<!-- <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
		<property name="mapperInterface" value="com.app.ssm.mapper.UserMapper" />
		<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
	</bean> -->
	
	<!-- mapper批量扫描,从mapper包中扫描出mapper接口,自动创建代理对象并且在spring容器中注册 
	遵循规范:将mapper.java和mapper.xml映射文件名称保持一致,且在一个目录 中
	自动扫描出来的mapper的bean的id为mapper类名(首字母小写)
	-->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 指定扫描的包名 
		如果扫描多个包,每个包中间使用半角逗号分隔
		-->
		<property name="basePackage" value="com.app.ssm.mapper"/>
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
		
	</bean>


3.src/ssm包

DAO接口

public interface UserDao {
	
	// R  根据id查询用户信息
	public User findUserById(int id) throws Exception;

}
DAO实现接口

package com.app.ssm.dao.impl;  

import java.util.Date;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.support.SqlSessionDaoSupport;

import com.app.ssm.dao.UserDao;
import com.app.ssm.po.User;

/** 
 *@Title UserDaoImpl.java 
 *@description TODO 
 *@time 2016年9月8日 上午11:52:11 
 *@author wyz 
 *@version 1.0 
 **/
public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {
	
	@Override
	public User findUserById(int id) throws Exception {
		
		SqlSession sqlSession = this.getSqlSession();

		User user = sqlSession.selectOne("test.findUserById", id);

		return user;

	}

}



4.test单元测试

package com.app.ssm.dao.impl;  

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.app.ssm.dao.UserDao;
import com.app.ssm.po.User;

/** 
 *@Title UserDaoImplTest.java 
 *@description TODO 
 *@time 2016年9月13日 下午2:52:23 
 *@author wyz 
 *@version 1.0 
 **/
public class UserDaoImplTest {
	
	private ApplicationContext applicationContext;

	@Before
	public void setUp() throws Exception {
		applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");
	}

	@Test
	public void testFindUserById() throws Exception {
		
		UserDao userDao = (UserDao) applicationContext.getBean("userDao");
		
		User user = userDao.findUserById(1);
		
		System.out.println(user);
		
	}

}


5

6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值