SSM项目搭建之MyBatis

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

    iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。

    官方语言结束。

    在实际项目中,Mybatis的配置文件是集成到Spring中的,所以你只需要关心的只有dao接口还有对应的mapper文件。形如如下目录结构:

+--dao

+----IUserDao.java

+----IuserDao.xml

…………………………

    注意:dao接口和mapper文件名必须一致!多说无意下面看代码:

    首先是spring的配置文件:  

    applicationContext.xml

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />		
</bean>
<!-- mapper.xml文件对应的接口 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.cmicroentropy.soa.dao" />
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
	</bean>

   然后是mapper文件,懒得写直接从项目里copy了一个:

    ICdeCompanyInfoBoxDao.xml

<?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 namespace="com.cmicroentropy.soa.dao.homemap.ICdeCompanyInfoBoxDao">
<!-- 带缓存 -->
<cache  type="org.mybatis.caches.oscache.OSCache"/>
	<resultMap type="com.cmicroentropy.soa.vo.homemap.CdeCompanyInfoBoxVo" id="CdeCompanyInfoBoxVo">
		 <result property="compsid" column="compsid" jdbcType="INTEGER" javaType="java.lang.Integer" />  
         <result property="compname" column="compname" jdbcType="VARCHAR" javaType="java.lang.String" />
         <result property="parentcompid" column="parentcompid" jdbcType="VARCHAR" javaType="java.lang.String" />    
	</resultMap>
	<select id="getCdeCompanyInfoList" resultMap="CdeCompanyInfoBoxVo" parameterType="java.lang.Integer">
		select c.compsid,c.compname,c.parentcompid 
		from 
		vw_cde_company_info c 
		where c.compsid =#{compsid} or 
		c.parentcompid=#{compsid}
	</select>
</mapper>

   这里加了缓存,如果不需要删除

<cache  type="org.mybatis.caches.oscache.OSCache"/>

    即可,当然如果你加了,那么一定要在执行删除或者修改、添加的地方加上  flushCache="true"来刷新缓存。

    最后再看看dao接口,也是项目里直接粘的,对应上面的mapper:

    ICdeCompanyInfoBoxDao.java

/**
 * 
 * @ClassName: ICdeCompanyInfoBoxDao 
 * @Description: 公司信息接口
 * @author scc
 * @date 2015年5月5日 上午11:12:41 
 *
 */
public interface ICdeCompanyInfoBoxDao {
	/**
	 * 
	 * @Title: getCdeCompanyInfoList 
	 * @Description: 获取公司信息列表
	 * @param compsid
	 * @return
	 */
	List<CdeCompanyInfoBoxVo> getCdeCompanyInfoList(int compsid);

}

    有兴趣的可以看看注解方式,项目需要这里只能是xml方式。数据库链接使用的是druid,下篇讲解。

    还有pom.xml忘了写了,再加上

<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.7</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis.caches</groupId>
			<artifactId>mybatis-oscache</artifactId>
			<version>1.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.2.2</version>
		</dependency>

    我就不测试,实际项目运行的,不会出错。

转载于:https://my.oschina.net/shyloveliyi/blog/410742

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值