spring+mybatis

前面说到spring mvc+maven,今天把mybatis集成上去了

1、首先是配置文件的修改-applicationContext.xml,增加mybatis的配置,前提:先引用mybatis的jar包

<span style="white-space:pre">	</span><!-- 加入自动扫描 -->
	<context:component-scan base-package="alijk.dataView.**" />
	<context:annotation-config />
	
	<!-- 加载系统中的properties文件 -->
	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:jdbc.properties</value>
			</list>
		</property>
	</bean>
	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
		<property name="maxActive" value="100" />
		<property name="maxWait" value="1000" />
		<property name="poolPreparedStatements" value="false" />
		<property name="defaultAutoCommit" value="true" />
	</bean>
	<!-- 配置mybatis sqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="mapperLocations"
			value="classpath:alijk/dataView/dao/*.xml" />
		<property name="typeAliasesPackage" value="alijk.dataView.model"/>
	</bean>
	
	<!-- scan for mappers and let them be autowired 自动扫描mapper包 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
		<property name="basePackage" value="alijk.dataView.dao" />
	</bean>
2、新建mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

<mapper namespace="alijk.dataView.dao.SysUserDao">
	
	<select id="getAlluser" parameterType="java.util.HashMap"
		resultType="java.util.Map">
		SELECT USER_ID,LOGIN_NAME,LOGIN_PASSWORD,USER_NAME 
		FROM SYS_USER 
		WHERE 
		DATA_FLAG = #{data_flag}
	</select>
	
</mapper>

3、mapper对应该的dao

@Repository
public interface SysUserDao {
	List<Map<String, Object>> getAlluser(Map<String, Object> map);
}

4、数据库访问接口service

public interface SysUserInf {
	List<Map<String, Object>> getAlluser(Map<String, Object> map);
}

5、接口的实现

@Service
public class SysUserInfImpl implements SysUserInf{
	
	@Autowired
	private SysUserDao sysUserDao;
	
	public List<Map<String, Object>> getAlluser(Map<String, Object> map) {
		
		return sysUserDao.getAlluser(map);
	}
	
}

以后工作做完后,spring+mybatis已经配置完成,基本上结构为:配置文件(spring加载,datasource,mybatis数据源配置,mapper配置等)、mapper、dao、service、serviceImpl

6、测试,用SpringJUnit4ClassRunner测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml") 
public class MybatisTest {
	@Autowired
	private SysUserInf sysUserInf;
	
	@Test
	public void testMybatis(){
		Map<String, Object> map_query = new HashMap<String, Object>();
		map_query.put("data_flag", "0");
		List<Map<String, Object>> map = sysUserInf.getAlluser(map_query);
		for(Map<String, Object> user : map){
			Iterator<String> iter = user.keySet().iterator();
			String row = "";
			while(iter.hasNext()){
				row += user.get(iter.next())+"\t";
			}
			System.out.println(row);
		}
	}
}

结果 :

14117106365323	gulou	b445e54cb19b0e9fd41f1c13540a9a9d	gulou	
14117196624151	江苏南京六合区用户	1952a781d27ca1f47	liuhe	
14132501631192	江苏南京六合区用户 	1a3bb2e9dfece8ec82




你可能感兴趣的:(spring,spring,mvc,mybatis)