`

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);
	}

}

  

分享到:
评论

相关推荐

    浅析Spring和MyBatis整合及逆向工程

    《Spring与MyBatis整合及逆向工程解析》 在现代Java Web开发中,Spring框架以其强大的依赖注入和面向切面编程能力,以及MyBatis轻量级持久层框架的简单易用,成为了许多开发者的首选。两者的整合能够更好地实现业务...

    mybatis-3.2.7 EHCache2.6.8 oracle 及 测试用例

    这些包包括但不限于 `mybatis-3.2.7.jar`、`mybatis-spring-1.x.jar`(如果使用 Spring 框架)、`mybatis-ehcache-1.x.jar` 等。如果使用 Maven,可以通过在 `pom.xml` 文件中添加依赖来实现自动下载。 2. **...

    基于时下最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离学习型.zip

    这个学习资源包"基于时下最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离学习型.zip"显然是为了帮助开发者掌握这两种技术在实际项目中的应用。让我们深入探讨Spring Boot 3和Vue 3这两个关键组件。 ...

    基于SpringBoot+mybatis-Plus+mysql+vue3开发的医院管理系统-门诊部与住院部(源码),开箱即用

    spring *********************************************************************************************** 基于SpringBoot+mybatis-Plus+mysql+vue3开发的医院管理系统-门诊部与住院部(源码),开箱即用,非常好...

    Spring基础:数据访问(2)

    在本篇“Spring基础:数据访问(2)”中,我们将深入探讨Spring框架如何支持和管理数据访问,特别是在Java应用程序中的数据库交互。Spring以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-...

    毕设项目:后端springboot + mybatis + jpa,前端vue实现的简易网盘系统.zip

    后端:springboot + mybatis + jpa # net-disk &gt; A Vue.js project ## Build Setup ``` bash # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for ...

    springboot整合junit测试用例demo

    在Spring Boot项目中,可以很方便地整合MyBatis Plus来处理数据访问层。然而,在单元测试中,通常我们会避免直接操作数据库,而是采用模拟数据的方式进行测试。因此,虽然本示例未直接涉及MyBatis Plus,但在实际...

    毕业设计基于Springboot+Vue的学生体测管理系统项目源码+数据库,软件工程作业

    使用到的技术 springboot mybatis-plus jwt mysql5.7 Project setup npm install Compiles and hot-reloads for development npm run serve Compiles and minifies for production npm run build

    JavaFX+SpringBoot2.7+JDK17+Launch4j+InnoSetup实现JVMTI的Jar包加密/H2数据

    springboot版本2.7.5,mybatis版本2.1.2。运行程序后可自动生成数据库。在安装过程中,会提示输入软件序列号,序列号的校验可通过restful接口进行验证。本例中还提供了dll的项目工程。需安装Visual Studio,打开该...

    spring-boot-microservice-template:Spring Boot微服务模板,基于持续交付的思想,用于快速交付可持续交付的微服务

    Spring Boot MicroService模板技术栈代码规范配置管理测试... 单元测试 组件测试 api测试 测试覆盖率 合同测试 整合测试 性能测试 测试覆盖率应用层 DDD策略 DIP(弹簧容器) AOP(SpringAOP) ORM(mybatis) Asnyc

    Spring and iBATIS

    &lt;bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&gt; &lt;bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"&gt; ``` ##### 4.4 Spring JDBC支持 ...

    spring-boot-arduino

    4. **Repositories**:数据库交互接口,Spring Data JPA或MyBatis等库可以自动实现这些接口。 5. **Configuration**:使用`@Configuration`类或`application.properties`/`application.yml`配置文件来管理应用设置。...

    基于ssm+mysql的大学生兼职平台源码数据库论文.doc

    SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中的常用框架组合。Spring作为一个全面的企业级应用框架,提供了依赖注入(DI)和面向切面编程(AOP)等核心功能,同时也支持事务管理、数据...

    一个基于 SpringBoot 和 Vue3 的博客系统.zip

    2. **Spring Data JPA与MyBatis**: - Spring Data JPA是Spring提供的一个数据访问抽象层,支持ORM框架如Hibernate,简化了数据库操作。 - MyBatis是另一种流行的数据持久层框架,它允许开发者编写SQL语句并与Java...

    基于PHP的业财票务一体项目管理系统.zip

    - SSM:SSM是Spring、SpringMVC和MyBatis的组合,是中国Java Web开发中的常见框架。它可能用于处理业务逻辑,提供RESTful API,以及与数据库的交互。 【压缩包子文件的文件名称列表】: "基于PHP的业财票务一体项目...

    Java开发资源库

    4. **框架和库**:Maven、Gradle构建工具,JUnit测试框架,以及Spring Boot、MyBatis等流行框架的使用。 资源库中的"Java 开发资源库.exe"可能是一个安装程序,用于在本地计算机上设置一个完整的Java开发环境,包括...

    Java连接mysql数据库攻略.pdf

    Java连接MySQL数据库是开发Web应用或后端服务时常见的任务,这个攻略主要...随着技术的发展,现代的Java开发可能还会涉及Spring框架中的JdbcTemplate或MyBatis等ORM框架,它们简化了数据库操作,提供了更高级的功能。

    学生管理系统

    - **后端开发**:可以使用Java的Spring Boot框架,结合MyBatis或Hibernate进行数据持久化操作。 - **数据库**:MySQL因其开源、免费且性能优秀的特点,常作为学生管理系统的首选数据库。 4. **系统实现** - **...

    junit参数化测试的使用方法

    FactoryManager.init("conf/beans/beans-springMybatis.xml"); userService = (IUserService) FactoryManager.getBean("userService"); } // 步骤二:为测试类声明几个变量,分别用于存放期望值和测试所用数据...

    arttrade.com

    这个项目的描述提到了"Database Setup",暗示我们可能涉及到数据库的配置和管理。在数据库配置方面,通常包括设置数据库名称(这里是"arttrade"),以及设置用于访问数据库的用户名和密码,虽然这里密码被替换为了...

Global site tag (gtag.js) - Google Analytics