开篇:终于决定开始自己的博客之旅了,之前项目使用的是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 ...
该项目通过springcloud集成了mybatis操作mysql数据库,项目主要分为7个model模块,配置模块(config),注册模块(discovery),监控模块(monitor),服务模块_mybatisService(通过mybatis操作mysql),服务模块_...
Spring Boot集成MyBatis的基础项目 Spring Boot集成MyBatis的基础项目
Spring Boot 集成mybatis,Spring Boot和mybatis整合的开发
Spring集成Mybatis所需jar包
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 集成MyBatis简单教程
该demo是基于spring boot 2集成mybatis-plus的可以运行的最基本的例子。 希望能对大家有帮助。
spring boot 集成 mybatis
Spring Boot集成MyBatis与分页插件
这是一个web程序的后台代码,整合了spring mvc和mybatis的配置,实现了各地方的电量增删改查,该代码持久层利用mybatis框架,简化了dao层的实现,spring实现了controller层、service层。
spring mvc与mybatis的集成
spring boot 集成mybatis,文件上传。Excel自动解析等功能。
SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+Mybatis集成开发环境SpringMVC+Spring+...
Spring Boot集成Mybatis(注解),解压后使用sts直接导入。
这是我写的一个Spring boot集成Mybatis通用mapper并连接MySQL数据库实现增删改查的一个小例子
Spring集成MyBatis简单demo