开篇:终于决定开始自己的博客之旅了,之前项目使用的是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>
五、声明:写在这里只是做一个笔记,以后查的时候方便自己查阅,不用每次都查很多资料才梳理清楚所有东西
分享到:
相关推荐
1. 该框架的开发环境为EclipseJEE集成开发工具。 2. 基于Spring4框架的三层架构开发完成。 3. Mybatis版本为:3.2.8。 4. 使用了SpringMVC框架,Spring4的xml配置和注解配置。 5. 前台展示页面使用了JQuery ...
Spring4在Spring3的基础上进行了优化,增强了对Java 8的支持,改进了性能,并引入了一些新功能,如WebJars支持和WebSocket集成。 SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求和响应。它提供了一...
该项目通过springcloud集成了mybatis操作mysql数据库,项目主要分为7个model模块,配置模块(config),注册模块(discovery),监控模块(monitor),服务模块_mybatisService(通过mybatis操作mysql),服务模块_...
在Java开发领域,Spring...以上就是Spring集成Mybatis所需的jar包及集成过程中的关键配置和步骤。正确配置这些组件,可以让我们在享受Spring的便利性的同时,充分利用MyBatis的灵活性和高效性,实现高质量的Java应用。
以下是对这个"Spring Boot集成MyBatis的基础项目"的详细解读。 **Spring Boot简介** Spring Boot是由Pivotal团队提供的全新框架,它旨在简化Spring应用的初始搭建以及开发过程。它预设了许多常见的配置,如嵌入式...
- 配置Spring:在Spring的配置文件中,配置SqlSessionFactoryBean、DataSource以及事务管理器,将Mybatis集成到Spring环境中。 - Mapper接口与XML映射文件:创建Mapper接口,对应数据库操作,同时编写对应的XML...
Spring4集成MyBatis3** 集成MyBatis3,需引入MyBatis和Spring的MyBatis-Spring依赖。配置SqlSessionFactory,定义Mapper接口和XML映射文件。Spring通过MapperScannerConfigurer自动扫描Mapper接口并生成代理对象,...
在本文中,我们将深入探讨如何将Spring Boot与MyBatis集成,以便在初学者的项目中实现用户查询功能。Spring Boot以其简洁的配置和自动配置特性,极大地简化了Java应用程序的开发过程。MyBatis则是一个优秀的持久层...
首先,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 Boot 2框架中集成MyBatis-Plus,并通过一个简单的实例来演示这一过程。MyBatis-Plus是一个强大的MyBatis扩展,它简化了数据库操作,提供了诸如CRUD操作、条件查询、分页等功能...
集成 Spring MVC 和 MyBatis 的主要步骤包括以下几个方面: 1. **环境准备**:首先,确保项目中引入了 Spring MVC、MyBatis 相关的依赖库,如 spring-webmvc、spring-jdbc、mybatis、mybatis-spring 等。这些依赖...
Spring Boot 集成 MyBatis 程序源代码
在本文中,我们将探讨如何集成Spring框架与MyBatis,以构建一个完整的实例。这个实例是一个图书管理系统的简单实现,涉及的技术栈包括Spring、MyBatis、Maven和MySQL。以下是详细步骤: **一、创建Maven Web项目** ...
这是一个web程序的后台代码,整合了spring mvc和mybatis的配置,实现了各地方的电量增删改查,该代码持久层利用mybatis框架,简化了dao层的实现,spring实现了controller层、service层。
SSM整合,即Spring MVC 4、Spring 4与MyBatis 3的集成,是Java Web开发中常用的一种框架组合。这三个组件分别是Spring MVC作为控制器层,Spring作为服务层和依赖注入容器,MyBatis作为持久层框架,它们协同工作以...
当我们需要在Spring Boot项目中集成MyBatis时,这将为应用程序带来更高效的数据访问能力。下面将详细介绍如何在Spring Boot项目中整合MyBatis,并提供相关的配置和使用方法。 首先,我们需要在项目的`pom.xml`或`...
**Spring3 整合 Mybatis 知识点详解** 在Java Web开发中,Spring和Mybatis是两个非常流行的开源框架。Spring提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,而Mybatis则是一个轻量级的持久层框架,它简化了...
在本文中,我们将深入探讨如何使用JavaEE技术栈,特别是Spring、Spring MVC和MyBatis框架,来构建一个超市货物管理系统的实现。这个系统涵盖了基本的登录功能以及与MySQL数据库的交互,包括增删改查操作和分页显示。...