`

mybatis学习(三)Spring整合mybatis Setup篇

阅读更多

        截止到发表此篇博客为止,mybatis-spring 1.3.0版本出现,版本比较高也比较新,所以还是选择一个相对比较稳定的但是又不是太过久远的版本1.2.5。通过查阅官方文档使用1.3.0版本之后mybatis.xml配置文件中的<settings>配置项和集成到Spring配置文件中,不过似乎 <typeAliases>配置还需要在mybatis.xml文件中进行配置,1.2.5版本不具备上面的特性。

         下面的是快速整合的一种方式,但是这种方式在实际的开发过程中似乎用的不是很多,因为采用了注解的方式来进行映射,这样就失去了配置文件的灵活性,所以官方文档也不太建议使用,不过记录这样的方式也不是完全没有意义,是学习整合的第一例子,有助于深入的学习Sping和mybatis的整合。

          Spring配置文件中配置,由于是入门所以配置越简单越好,配置如下

 <!-- 配置mybatis SqlSessionFactory  -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  		<property name="dataSource" ref="dataSource" />
  		<!-- 1.3.0  mybatis-spring 开始支持下面的参数 -->
  		<!-- <property name="configuration">
		    <bean class="org.apache.ibatis.session.Configuration">
		      <property name="logImpl" value="LOG4J"/>
		      <property name="mapUnderscoreToCamelCase" value="true"/>
		    </bean>
  		</property> -->
	</bean>
	
	<!-- 配置 Mapper 映射  -->
	<bean id="musicMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
  		<property name="mapperInterface" value="org.lian.mapper.MusicMapper" />
		<property name="sqlSessionFactory" ref="sqlSessionFactory" />
	</bean>
	
	<bean id="musicService" class="org.lian.service.impl.MusicServiceImpl">
         <property name="musicMapper" ref="musicMapper"/>
    </bean>
	

       下面是配置Dao层的MapperInterface接口和Service层

public interface MusicMapper {

	/**
	 * 
	 * @description TODO
	 * @param id
	 * @return
	 * @return Music
	 */
	@Results(id = "musicResult", value = {
			@Result(property = "id", column = "id", id = true),
			@Result(property = "name", column = "name"),
			@Result(property = "singer", column = "singer"),
			@Result(property = "album", column = "album"),
			@Result(property = "duration", column = "duration"),
			@Result(property = "author", column = "author"),
			@Result(property = "composer", column = "composer"),
			@Result(property = "style", column = "style") })
	@Select("select * from t_music where id= #{id}")
	public Music getMusicById(@Param("id") String id);
	/**
	 * id; name; singer;
	 * 
	 * album; duration; author; composer;style
	 */
}

 

public class MusicServiceImpl implements MusicService {

	private MusicMapper musicMapper;

	public MusicMapper getMusicMapper() {
		return musicMapper;
	}

	public void setMusicMapper(MusicMapper musicMapper) {
		this.musicMapper = musicMapper;
	}

	@Override
	public String getMusicById(String id) {
		Music music = this.musicMapper.getMusicById(id);
		return GsonUtil.getInstance().convertToJson(music);
	}

}

  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics