`
bit1129
  • 浏览: 1069957 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【持久化框架MyBatis3八】Spring集成MyBatis3

 
阅读更多

pom.xml配置

Maven的pom中主要包括:

  • MyBatis
  • MyBatis-Spring
  • Spring
  • MySQL-Connector-Java
  • Druid

applicationContext.xml配置

 
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
						http://www.springframework.org/schema/beans/spring-beans.xsd
						http://www.springframework.org/schema/aop 
						http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
						http://www.springframework.org/schema/context 
						http://www.springframework.org/schema/context/spring-context.xsd
						http://www.springframework.org/schema/tx 
						http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
						http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">
	
	<context:annotation-config />

	<context:component-scan base-package="com.mybatis3" />

	<context:property-placeholder location="classpath:application.properties" />
	
    <!--定义TransactionManager,在业务层使用@Transactional注解使Service成为事务管理的service,比如StudentService-->
    <tx:annotation-driven transaction-manager="transactionManager"/>
	
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  		<property name="dataSource" ref="dataSource" />
	</bean>
	
    <!--SqlSessionTemplate实现了SqlSession接口,线程安全,可以单例使用,-->
	<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
	  <constructor-arg index="0" ref="sqlSessionFactory" />
	</bean>
	<!--sqlSessionFactory与主配置文件对应,可以直接使用configLocation指定主配置文件-->
    <!--也可以对主配置文件中的配置项单独配置-->
   	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  		<property name="dataSource" ref="dataSource" />
  		<property name="typeAliasesPackage" value="com.mybatis3.domain"/>
  		<property name="typeHandlersPackage" value="com.mybatis3.typehandlers"/>
  		<property name="mapperLocations" value="classpath*:com/mybatis3/**/*.xml" /> <!--指向映射配置文件-->
	</bean>
	
    <!--数据源配置,在sqlSessionFactory引用-->
     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="${jdbc.driverClassName}"/>
		<property name="url" value="${jdbc.url}"/>
		<property name="username" value="${jdbc.username}"/>
		<property name="password" value="${jdbc.password}"/>
	</bean>
	
</beans>
 
 得到sqlSession对象,其它的操作区别不大,比如TutorService的实现
 
/**
 * 
 */
package com.mybatis3.services;

import com.mybatis3.domain.Tutor;
import com.mybatis3.mappers.TutorMapper;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;


/**
 * @author Siva
 *
 */
@Service
@Transactional
public class TutorService 
{
	@Autowired
	private SqlSession sqlSession; //自动注入Spring定义的SqlSession
	
	private TutorMapper getTutorMapper(){
		return sqlSession.getMapper(TutorMapper.class);//通过sqlSession获得相应的Mapper
	}
	public List<Tutor> findAllTutors() {
		return getTutorMapper().findAllTutors();
	}
	
	public Tutor findTutorById(int tutorId) {
		return getTutorMapper().findTutorById(tutorId);
	}
	
	public Tutor findTutorByNameAndEmail(String name, String email) {
		return getTutorMapper().findTutorByNameAndEmail(name, email);
	}
	
	public Tutor createTutor(Tutor tutor) {
		getTutorMapper().insertTutor(tutor);
		return tutor;
	}
	
	public Tutor updateTutor(Tutor tutor) {
		getTutorMapper().updateTutor(tutor);
		return tutor;
	}
	
	public boolean deleteTutor(int tutorId) {
		boolean deleted = false;
		int nor = getTutorMapper().deleteTutor(tutorId);
		deleted = (nor == 1);
		return deleted;
	}
	
	public Tutor selectTutorById(int tutorId) {
		return getTutorMapper().selectTutorById(tutorId);
	}
	
	public Tutor selectTutorWithCoursesById(int tutorId) {
		return getTutorMapper().selectTutorWithCoursesById(tutorId);
	}
}
 
 
 
 
 
 
分享到:
评论

相关推荐

    java 之持久化框架mybatis3,

    5. 与Spring和Guice框架的集成支持:MyBatis可以轻松与Spring等企业级应用框架集成,使用IoC容器管理数据持久层组件。 6. 与第三方缓存类库的集成支持:MyBatis支持与第三方缓存解决方案集成,例如Ehcache,以便...

    MyBatis 3 整合Spring3、SpringMVC

    在企业级应用开发中,MyBatis作为一款轻量级的持久层框架,与Spring的集成是常见的做法,可以实现灵活的数据访问和事务管理。SpringMVC则用于处理前端请求,构建MVC架构。以下将详细介绍如何在JavaEE环境中整合这三...

    mybatis-spring-1.3.3.jar官方下载

    MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,使得在 Spring 应用中使用 MyBatis 变得更加方便。mybatis-spring-1.3.3.jar 文件是这个集成库的一个版本,提供了对 MyBatis 1.3.3 和 Spring 的...

    mybatis-spring-1.3.1.jar下载

    MyBatis-Spring 1.3.1 是一个重要的Java库,它为MyBatis持久层框架和Spring框架提供了一座桥梁,使得两个强大的库能够无缝集成。这个版本的jar文件是开发者在使用MyBatis与Spring进行项目开发时必不可少的组件。下面...

    mybatis--Spring集成nybatis.rar

    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    mybatis3与spring5整合.rar

    整合MyBatis3和Spring5的主要目标是实现DAO(Data Access Object)的自动化管理,让Spring负责创建和管理MyBatis的SqlSession,以及处理与数据库的交互。这通常通过以下步骤完成: 1. 配置MyBatis的...

    mybatis3.0.5 and spring3.0.5jar

    标题中的"Mybatis3.0.5 and Spring3.0.5jar"暗示了这是一个关于集成Mybatis和Spring框架的讨论,特别关注的是Mybatis的3.0.5版本和Spring的3.0.5版本。这两个框架在Java开发中被广泛用于持久层操作和依赖注入。接...

    Mybatis3+Spring4 +Struts2整合源码

    【标题】"Mybatis3+Spring4 +Struts2整合源码"是一个示例项目,展示了这三大流行Java Web框架的集成与协作。Mybatis3是轻量级的持久层框架,Spring4则是一个全面的企业级应用框架,而Struts2则作为MVC架构的一部分,...

    struts2+mybatis3+spring3小例子

    Struts2、MyBatis3和Spring3是Java Web开发中的三大框架,它们协同工作能够构建出高效、灵活的企业级应用程序。在这个小例子中,我们将深入探讨这三个框架如何结合使用,以及它们各自的核心功能。 首先,Struts2是...

    spring4+mybatis3+spring mvc

    总结来说,Spring4、MyBatis3和Spring MVC的整合应用,为企业级Java Web应用提供了强大的开发工具,它们各自发挥所长,共同构建出高效、可维护的软件架构。理解并熟练掌握这些技术,对于提升开发效率和产品质量具有...

    spring+mybatis框架搭建

    Spring作为一个全面的后端框架,提供了依赖注入、AOP(面向切面编程)、事务管理等核心功能,而MyBatis则是一个轻量级的持久层框架,专注于SQL映射和数据库交互。将这两个框架结合使用,可以构建出高效、灵活且易于...

    mybatis,mybatis-spring

    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。而MyBatis-Spring则是MyBatis与Spring框架的桥梁,它使得在Spring应用中使用...

    springmvc+spring+mybatis开发框架搭建代码,已使用,完美运行。

    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    mybatis与spring整合的全部jar包

    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。在SSM整合中,MyBatis主要负责与数据库交互。相关的jar包有`mybatis`, `...

    Spring集成Mybatis所需所有jar

    本文将详细介绍如何将这两个框架集成,并探讨相关jar文件的作用。 首先,集成 Spring 和 MyBatis 需要一些核心的jar文件,这些文件通常包括: 1. **Spring 框架**:Spring 提供了 IoC 容器、AOP(面向切面编程)、...

    ssm框架spring+mybatis+mvc

    这个框架的集成使得开发者在处理业务逻辑、持久化操作以及控制层交互时有了强大的支持。接下来,我们将详细探讨这三个组件以及如何利用它们搭建一个Web应用。 1. Spring框架: Spring是Java领域的一个全功能框架,...

    Spring集成Mybatis所需jar包

    而MyBatis则是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,简化了SQL操作。将两者结合使用,可以实现灵活且高效的数据库操作。 在进行Spring与MyBatis的集成时,我们需要引入一系列的jar包来...

    struts2_mybatis_spring_框架实例整合_数据库 文档

    Struts2、MyBatis和Spring是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、数据持久层和应用上下文管理。这篇文档将深入探讨如何将这三个框架整合在一起,以及如何结合数据库进行实际应用。 ...

    mybatis+mybatis-springjar包

    MyBatis 是一款著名的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使你更好地将 SQL 和 Java 代码进行分离,这样你就可以...

Global site tag (gtag.js) - Google Analytics