mybatis xml和dao扫描写法

第一种:接口和xml不在同一个目录,需要在sqlSessionFactoryBean中额外 指定xml的路径:

    <!-- myBatis文件 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:mybatis-config.xml" />
        <!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
        <property name="mapperLocations">
            <list>
                <value>classpath:com/liuyx/**/mappers/${db}/*.xml</value>
            </list>
        </property>
        <property name="plugins">
            <array>
                <ref bean="pagePlugin" />
            </array>
        </property>
    </bean>

    <!-- mapper接口namepspace绑定方式 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.liuyx.base.**.dao" /><!-- 多个使用逗号分隔 -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    </bean>

第二种,接口和xml在同一个路径下,可以只配置MapperScannerConfigurer写的basePackage:

<!-- 配置Mybatis  SqlSessionFactory  会话工厂 -->
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 配置Mybatis的核心 配置文件 -->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
     </bean>

     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
         <!-- 基础包 包下所的接口全扫描  -->
         <property name="basePackage" value=‘com.liuyx.**.dao‘ />
         <!-- 注入工厂 -->
         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
     </bean>

有时间的童鞋可以自己看看源码。

时间: 2024-11-07 21:55:34

mybatis xml和dao扫描写法的相关文章

MyBatis xml和dao层接口组合使用

在这里,不再介绍Mybatis的配置. mybatis可以用xml进行数据操作,也可以在dao层用注解的方式,也可以采取xml和dao层接口组合使用的方法.显然 ,后者更加简单. 实体类Student package com.zhao.entity; /** * * @author: zhao * @time: 2016年5月31日 * * @description:学生 */ public class Student { private int stuId; private String st

阿里面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?

一.解析XML首先,Mybatis在初始化SqlSessionFactoryBean的时候,找到mapperLocations路径去解析里面所有的XML文件,这里我们重点关注两部分.1.创建SqlSourceMybatis会把每个SQL标签封装成SqlSource对象.然后根据SQL语句的不同,又分为动态SQL和静态SQL.其中,静态SQL包含一段String类型的sql语句:而动态SQL则是由一个个SqlNode组成. 假如我们有这样一个SQL: <select id="getUserB

mybatis xml中的大于、小于等符号写法

xml特殊符号转义写法 <          < >          > <>   <> &      & &apos;      ' "      " 也可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析 <![CDATA[ 这里写你的sql ]]> like的写法可以用下面的这种 like #param#||'%'  或 '$param$%'

MyBatis自动生成Dao层

MyBatis自动生成Dao层 MyBatis自动生成Dao层,从数据库的表映射到Java的数据层.包括 Mapper接口的定义,Mapper文件中的sql脚本以及接口中用到的对象 参考地址: http://mybatis.org/generator/running/runningWithMaven.html http://mybatis.org/generator/configreference/xmlconfig.html 新建Maven项目(我的是基于SpringBoot) 1.配置pom

怎么编写mybatis.xml文件,实现sql增删改查

<?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.shangyu.mapper.dsz.CarIn

sql for xml 另一种写法(采用 tag 与 union all,简洁易懂)

测试环境:sql 08, 08 R2, 2010,  2012, 2014 等 declare @agent table ( AgentID int, Fname varchar(5), SSN varchar(11) ) insert into @agent select 1, 'Vimal', '123-23-4521' union all select 2, 'Jacob', '321-52-4562' union all select 3, 'Tom', '252-52-4563' de

MyBatis Generator生成DAO——序列化

MyBatis Generator生成DAO 的时候,生成的类都是没有序列化的. 还以为要手工加入(開始是手工加入的),今天遇到分页的问题,才发现生成的时候能够加入插件. 既然分页能够有插件.序列化是不是也有呢. 果然SerializablePlugin,已经给我们提供好了. <plugin type="org.mybatis.generator.plugins.SerializablePlugin" /> 立即高端大气了起来.每一个model对象都乖乖的带上了Serial

mybatis.xml中sql编写规范

一.越少的代码,越强悍的功能,xml里面应该6个sql语句就够用了,修改,维护成本很低,见下表 下载 英文名 方法名称 核心点 建议 insert 1.新增数据 如果是自增主键,应该返回主键ID deleteById 2. 根据主键ID删除数据 sql默认加limit 1,防止多删数据 此方法不建议有,建议逻辑删除 updateById 3. 根据主键ID修改数据 sql默认加limit 1,防止多修改数据 selectById 4. 根据主键查询数据 查询一条数据 selectByIdForU

Spring + myBatis (XML) + mySQL

增加jar 然后,做demo 1. sql CREATE TABLE persons ( id int NOT NULL AUTO_INCREMENT , name varchar (50) , PRIMARY KEY (id))AUTO_INCREMENT=1; 2. java project (1) Create new Java Project (2) Add new folder “lib” (3) Copy all jars to “lib” folder (4) Add jar fi