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

Spring4集成Mybatis

阅读更多
开篇:终于决定开始自己的博客之旅了,之前项目使用的是Spring3.0.5和ibatis,现在系统要对外发布,自己感觉太low了,一下午努力,对框架进行版本升级,采用的的是spring4.2.7和mybatis3.2.5、mybatis-spring-1.2.2,spring5还没有尝试,先用4的最高版本吧,mybatis是最新版本。废话不多说,一步一步来吧
说在前面:xx这篇文章主要是参考了官网doc,大家有时间的话尽量去官网上看看,有中文的说明啊,这里把Mybatis的官网附上(额,得外网才能看哈)

引用
http://blog.mybatis.org/p/products.html

一、先附上数据库代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	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.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.xsd
          http://www.springframework.org/schema/mvc
          http://www.springframework.org/schema/mvc/spring-mvc.xsd">
	<description>数据库配置</description>
	<!-- 数据库配置文件位置 -->
	<!-- 配置dbcp数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="${gate.driverClassName}" />
		<property name="url" value="${gate.jdbcUrl}" />
		<property name="username" value="${gate.user}" />
		<property name="password" value="${gate.password}" />
		<property name="minIdle" value="${gate.minIdle}" />        <!-- 队列中的最小等待数 -->
		<property name="maxIdle" value="${gate.maxIdle}" />        <!-- 队列中的最大等待数 -->
		<property name="maxWait" value="${gate.maxWait}" />        <!-- 最长等待时间,单位毫秒 -->
		<property name="maxActive" value="${gate.maxActive}" />    <!-- 最大活跃数 -->
		<property name="initialSize" value="${gate.initialSize}" /><!-- 
			初始大小 -->
	</bean>

	<!-- 定义 myBatis的sqlSessionFactory      
    1、当使用MapperScannerConfigurer时不需要configLocation定义(     
        1:mapperLocations可以批量载入mapper,但是MapperScannerConfigurer扫描mapper后不会将已存在的mapper加入到Configuration中     
        2:也可以定义configLocation文件,在里面设置settings和typeAliases等来覆写默认的配置     
        3:如果使用了configLocation文件,并且里面也定义了mappers,那么在MapperScannerConfigurer扫描动作中就不会加入已经存在的mapper了     
            (同mapperLocations情况一样)     
        4:综上所述:建议采用扫描来完成mapper的注册,并且在sqlSessionFactory的bean配置中不需要设置mapperLocations,     
            如果设置了configLocation文件,那么configLocation文件里也不需要再设置mapper了     
    -->   
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation" value="classpath:config/sqlMapConfig.xml"></property>
		<!-- classpath后的*必不可少 -->
		<property name="mapperLocations" value="classpath*:config/mapper/*.xml"></property>
		<!-- 自动扫描需要定义类别名的包,将包内的JAVA类的类名作为类别名 -->
		<property name="typeAliasesPackage" value="com.free.bean"></property>
	</bean>

	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 自动扫描当前包下的所有mapper,进行自动化映射,也可以通过定制化注解方式进行自动扫描annotationClass -->
		<property name="basePackage" value="com.free.mapper" />
	</bean>

	<!-- 使用JDBC事物 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!-- AOP配置事物 -->
	<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="query*" read-only="true" propagation="REQUIRED" />
			<tx:method name="delete*" propagation="REQUIRED" />
			<tx:method name="update*" propagation="REQUIRED" />
			<tx:method name="insert*" propagation="REQUIRED" />
			<tx:method name="*" propagation="REQUIRED" />
		</tx:attributes>
	</tx:advice>

	<!-- 配置AOP切面 -->
	<aop:config>
		<aop:pointcut id="transactionPointcut" expression="execution(* com.free.service.*.*(..))" />
		<aop:advisor pointcut-ref="transactionPointcut"
			advice-ref="transactionAdvice" />
	</aop:config>

	<!-- 使用annotation注解方式配置事务 -->
	<tx:annotation-driven transaction-manager="transactionManager" />

</beans>

二、映射器接口代码
public interface CarGroupUrlMapper {
	@Select("select * from gate_cargroupurl")
	public List<CarGroupUrl> getCarGroupMap();
	@Select("select * from gate_cargroupElse")
	public List<CarGroupElse> getCarGroupElse();
}

我这个目录下其实有好几个映射器文件的,不一一列举了,噢,具体的mybatis语法,以后可能会有提及吧,这里只讲下框架。
三、实体类
/**
	 * 由于在配置文件中配置了自动别名机制(这个机制是mybatis-spring的东西,不是mybatis的别名),所以这里没有使用@Alias,如果使用mybatis
	 * 的别名机制,此处必须写上注解才行哦
	 * @author xxfengxia
	 *
	 */
	public class CarGroupUrl implements Serializable{
		private int id;
		//分组id
		private String groupId;
		//对应的url
		private String url;
		private String md5key;
	}

四、映射文件说明
    由于我这里采用的是自动映射和SQL注解方式,所以当前映射器没有配置文件,如果我们采用xml文件进行映射的话,Mybatis建议将这个文件放在mapper同级的路径下。其实这个就看大家喜好啦,我一般将这些文件都当做配置文件放在/src/config/mapper/mysql/user/user.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.free.mapper.RegisterMapper">
	<cache type="org.mybatis.caches.ehcache.LoggingEhcache" readOnly="true" />

    <select id="getRegisterInfoByCarId" parameterType="CarRegisterVO" resultType="CarRegisterVO">
    	select * from rent_carregister where carid = #{carid} and islogoff = 0
    </select>
</mapper>

五、声明:写在这里只是做一个笔记,以后查的时候方便自己查阅,不用每次都查很多资料才梳理清楚所有东西
分享到:
评论

相关推荐

    Java Spring4集成MyBatis SpringMVC JQuery EasyUI 后台框架

    1. 该框架的开发环境为EclipseJEE集成开发工具。 2. 基于Spring4框架的三层架构开发完成。 3. Mybatis版本为:3.2.8。 4. 使用了SpringMVC框架,Spring4的xml配置和注解配置。 5. 前台展示页面使用了JQuery ...

    spring4+mybatis3+springmvc4实战

    Spring4在Spring3的基础上进行了优化,增强了对Java 8的支持,改进了性能,并引入了一些新功能,如WebJars支持和WebSocket集成。 SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求和响应。它提供了一...

    微服务springcloud集成mybatis

    该项目通过springcloud集成了mybatis操作mysql数据库,项目主要分为7个model模块,配置模块(config),注册模块(discovery),监控模块(monitor),服务模块_mybatisService(通过mybatis操作mysql),服务模块_...

    Spring集成Mybatis所需jar包

    在Java开发领域,Spring...以上就是Spring集成Mybatis所需的jar包及集成过程中的关键配置和步骤。正确配置这些组件,可以让我们在享受Spring的便利性的同时,充分利用MyBatis的灵活性和高效性,实现高质量的Java应用。

    Spring Boot集成MyBatis的基础项目

    以下是对这个"Spring Boot集成MyBatis的基础项目"的详细解读。 **Spring Boot简介** Spring Boot是由Pivotal团队提供的全新框架,它旨在简化Spring应用的初始搭建以及开发过程。它预设了许多常见的配置,如嵌入式...

    Spring4--Spring4整合mybatis3

    - 配置Spring:在Spring的配置文件中,配置SqlSessionFactoryBean、DataSource以及事务管理器,将Mybatis集成到Spring环境中。 - Mapper接口与XML映射文件:创建Mapper接口,对应数据库操作,同时编写对应的XML...

    Spring4集成JPA和MyBatis3简单例子

    Spring4集成MyBatis3** 集成MyBatis3,需引入MyBatis和Spring的MyBatis-Spring依赖。配置SqlSessionFactory,定义Mapper接口和XML映射文件。Spring通过MapperScannerConfigurer自动扫描Mapper接口并生成代理对象,...

    spring boot 集成 mybatis

    在本文中,我们将深入探讨如何将Spring Boot与MyBatis集成,以便在初学者的项目中实现用户查询功能。Spring Boot以其简洁的配置和自动配置特性,极大地简化了Java应用程序的开发过程。MyBatis则是一个优秀的持久层...

    spring3和mybatis3的初始探索

    首先,Spring3集成MyBatis3的过程中,我们需要引入相关的依赖库,包括`mybatis-spring`,这个正是压缩包中的文件名称。`mybatis-spring-sample`很可能是一个示例项目,包含了配置和代码示例,帮助开发者理解如何将...

    spring集成mybatis.zip

    spring集成mybatis.zip spring集成mybatis.zip spring集成mybatis.zip spring集成mybatis.zip spring集成mybatis.zip spring集成mybatis.zip spring集成mybatis.zip spring集成mybatis.zip spring集成mybatis.zip ...

    基于spring boot 2集成mybatis-plus的简单实例

    在本文中,我们将深入探讨如何在Spring Boot 2框架中集成MyBatis-Plus,并通过一个简单的实例来演示这一过程。MyBatis-Plus是一个强大的MyBatis扩展,它简化了数据库操作,提供了诸如CRUD操作、条件查询、分页等功能...

    spring mvc与mybatis的集成

    集成 Spring MVC 和 MyBatis 的主要步骤包括以下几个方面: 1. **环境准备**:首先,确保项目中引入了 Spring MVC、MyBatis 相关的依赖库,如 spring-webmvc、spring-jdbc、mybatis、mybatis-spring 等。这些依赖...

    Spring Boot 集成 MyBatis 程序源代码

    Spring Boot 集成 MyBatis 程序源代码

    Spring集成MyBatis完整实例(分享)

    在本文中,我们将探讨如何集成Spring框架与MyBatis,以构建一个完整的实例。这个实例是一个图书管理系统的简单实现,涉及的技术栈包括Spring、MyBatis、Maven和MySQL。以下是详细步骤: **一、创建Maven Web项目** ...

    Spring集成MyBatis示例

    这是一个web程序的后台代码,整合了spring mvc和mybatis的配置,实现了各地方的电量增删改查,该代码持久层利用mybatis框架,简化了dao层的实现,spring实现了controller层、service层。

    springmvc4+spring4+mybatis3整合

    SSM整合,即Spring MVC 4、Spring 4与MyBatis 3的集成,是Java Web开发中常用的一种框架组合。这三个组件分别是Spring MVC作为控制器层,Spring作为服务层和依赖注入容器,MyBatis作为持久层框架,它们协同工作以...

    Spring Boot 集成mybatis

    当我们需要在Spring Boot项目中集成MyBatis时,这将为应用程序带来更高效的数据访问能力。下面将详细介绍如何在Spring Boot项目中整合MyBatis,并提供相关的配置和使用方法。 首先,我们需要在项目的`pom.xml`或`...

    Spring3整合Mybatis

    **Spring3 整合 Mybatis 知识点详解** 在Java Web开发中,Spring和Mybatis是两个非常流行的开源框架。Spring提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,而Mybatis则是一个轻量级的持久层框架,它简化了...

    spring+spring mvc+mybatis框架整合实现超市货物管理系统

    在本文中,我们将深入探讨如何使用JavaEE技术栈,特别是Spring、Spring MVC和MyBatis框架,来构建一个超市货物管理系统的实现。这个系统涵盖了基本的登录功能以及与MySQL数据库的交互,包括增删改查操作和分页显示。...

Global site tag (gtag.js) - Google Analytics