二、mybatis和spring结合

翻译 2018年04月17日 15:31:43

配置

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

    <bean class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 配置Mybatis的全局配置文件 -->
        <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
        <!-- 别名包 -->
        <property name="typeAliasesPackage" value="com.taotao.cart.pojo"/>
    </bean>

    <!-- mapper接口的扫描器 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.taotao.cart.mapper"/>
    </bean>

</beans>

1.1数据源
这个就是普通的数据源,可以采用C3p0或者dbcp等等。
1.2全局配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <settings>
        <!-- 驼峰的自动映射 -->
        <setting name="mapUnderscoreToCamelCase" value="true" />
        <!-- 输出sql日志 -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>

    <plugins>
        <!-- 分页插件 -->
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <property name="dialect" value="mysql" />
            <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
            <property name="rowBoundsWithCount" value="true" />
        </plugin>

        <!-- 基于注解的用于操作单个对象的  默认Mapper实现 -->
        <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor">
            <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 -->
            <property name="IDENTITY" value="MYSQL" />
            <!--通用Mapper接口,多个通用接口用逗号隔开 -->
            <property name="mappers" value="com.github.abel533.mapper.Mapper" />
        </plugin>
    </plugins>


</configuration>

1.3别名包
比如在mapper文件中,resultType=”com.taotao.cart.pojo.User” 如果配置了

 <property name="typeAliasesPackage" value="com.taotao.cart.pojo"/>

就只需要这样写

resultType="User"

1.4Mapper接口和xml的扫描器

 <!-- mapper接口的扫描器 -->
 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <property name="basePackage" value="com.taotao.cart.mapper"/>
 </bean>

属于模糊扫描不想之前手动写那么麻烦。

这里需要特别将一下mapper接口,像上篇文章,调用的时候特别麻烦,所以mybatis简化了的调用开发。
但是这个简化必须有规范的。

  1. xml的命名空间必须是对应的接口路径
  2. sql语句的id必须和接口中的方法一一对应。
  3. sql语句的parameterType和接口中的方法的参数是对应的
  4. sql语句的resultType和接口中的返回值方法是对应的

    比如下面的例子

CartMapper2.java

package com.taotao.cart.mapper;

import org.springframework.stereotype.Component;

import com.taotao.cart.pojo.Cart;

@Component
public interface CartMapper2{
    public Cart getById( int id);
}

CartMapper2.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.taotao.cart.mapper.CartMapper2">

    <select id="getById" parameterType="int" resultType="Cart" >
        select
        *
        from tb_cart where id=#{id}
    </select>

</mapper>

SpringMVC开发环境构建、Spring结合mybatis代码

  • 2017年08月05日 19:21
  • 5.48MB
  • 下载

springmvc与mybatis结合

之前写了一篇springmvc的环境搭建,现在写与mybatis相结合 http://blog.csdn.net/nmj2015/article/details/72288428 一. 基于前次...
  • nmj2015
  • nmj2015
  • 2017-05-16 22:23:53
  • 1874

MyBatis与Spring结合:

MyBatis与Spring结合,将MyBatis中的SqlSessionFactory、SqlSession交由Spring管理。 1.  SqlSessionFactoryBean 在MyBati...
  • lll350203041
  • lll350203041
  • 2014-01-19 19:30:37
  • 924

springmvc和mybatis整合(总结)

springmvc和mybatis整合
  • sunguodong_
  • sunguodong_
  • 2018-01-30 19:58:09
  • 692

Spring整合MyBatis(二)源码分析

在Spring配置Mybatis的文件中我们可以看到如下代码: MapperScannerConfigurer,让它扫描特定的包,自动帮我们成批地创建映射器。这样就大大减少了配置的工作...
  • u012291108
  • u012291108
  • 2016-07-18 20:05:40
  • 3257

Mybatis、Maven、Spring、struts2结合使用详解

Mybatis 与 maven、Spring、struts2 结合使用 首先通过maven的pom.xml文件来导入所需要的jar包,采用的spring4、struts2、maven 和 myb...
  • sinat_22523383
  • sinat_22523383
  • 2016-01-26 18:57:07
  • 2004

MyBatis与Spring的结合

MyBatis与Spring的结合
  • xxr_Panda
  • xxr_Panda
  • 2017-08-28 15:15:38
  • 162

springMybatis

  • 2015年04月23日 11:06
  • 5.65MB
  • 下载

MyBatis整合Spring框架

1.1  整合思路1、SqlSessionFactory对象应该放到spring容器中作为单例存在。2、传统dao的开发方式中,应该从spring容器中获得sqlsession对象。3、Mapper代...
  • zewangdhlg1
  • zewangdhlg1
  • 2018-03-16 15:48:23
  • 113

spring+mybatis+oracle简易案例

  • 2015年12月10日 17:08
  • 3.15MB
  • 下载
收藏助手
不良信息举报
您举报文章:二、mybatis和spring结合
举报原因:
原因补充:

(最多只允许输入30个字)