MyBatis全局配置文件的各项标签3
mapper
将sql映射注册到全局配置中,这个我们在上一章已经使用过了,
- resource
这个属性是用来引用类路径下的sql映射文件
- url
这个属性是用来引用网络路径或磁盘路径下的sql映射文件
- class
直接引用接口(注册接口),这里需要把接口和映射文件放在同一文件夹下,而且要保证,两者同名。
如果你是使用IDEA,这里需要大家注意一件事,由于新版的IntelliJ IDEA不再编译source folder下的xml文件,而我们平时使用mybatis时,习惯于将*Mapper.xml文件放在与dao层、service层平级的src目录下。这就导致ItelliJ IDEA不会变异这些xml文件夹,从而导致Invalid bound statement (not found)的发生。
我们需要在pom.xml文件的<build>标签加入以下代码:
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- </resources>
当然还有一种方法∑(っ°Д°;)っ:
mybatis是支持没有sql映射文件,所有的sql都是利用注解写在接口上:
- package com.figsprite.dao;
- import com.figsprite.bean.Employee;
- import org.apache.ibatis.annotations.Select;
- public interface EmployeeMapperAnnotation {
- @Select("select id,last_name lastName,gender,email from tb_employee where id = #{id}")
- Employee getEmpById(Integer id);
- }
- @Test
- public void test2() throws IOException {
- SqlSession openSession = getSqlSessionFactory().openSession();
- try {
- EmployeeMapperAnnotation employee = openSession.getMapper(EmployeeMapperAnnotation.class);
- employee.getEmpById(1);
- System.out.println(employee);
- }finally {
- openSession.close();
- }
- }
这种方式比较简单,但是违背了Mybatis的初衷——抽离sql语句,建议比较重要的sql写在xml文件里,而比较简单的,我们就写在java代码里。
如果我们的接口中有很多种方法对应sql语句,那么,我们一句一句sql写起来是不是很麻烦?因此Mybatis提供了批量注册的标签package
与别名中的package使用相同
<package name="包名"/>
可想而知,注解版的mapper是没有问题的,但是通过xml文件配置的,就会有问题了,因此必须要放在同包下,并且同名。
- <mappers>
- <package name="com.figsprite.dao"/>
- </mappers>
另外强调一点,全局配置文件中的这些标签是有顺序要求的,不按顺序些会报错
MyBatis全局配置文件的各项标签3的更多相关文章
- MyBaits全局配置文件的各项标签1
■dtd约束 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...
- MyBaits全局配置文件的各项标签2
▲typeHandlers 类型处理器,它架起数据库和JavaBean一一映射的桥梁,这里需要注意一下,java在JDK1.8之前,日期处理函数并不丰富,但在JDK1.8之后引入JSR-310标准,这 ...
- Mybatis全局配置文件详解(三)
每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心.SqlSessionFactory实例可以由SqlSessionFactoryBuild获得,而SqlSessionF ...
- Mybatis学习(3)关于mybatis全局配置文件SqlMapConfig.xml
比如针对我这个项目的mybatis全局配置文件SqlMapConfig.xml做一些说明: <?xml version="1.0" encoding="UTF-8& ...
- MyBatis 全局配置文件详解(七)
MyBatis 配置文件作用 MyBatis配置文件包含影响 MyBatis 框架正常使用的功能设置和属性信息.它的作用好比手机里的设置图标,点击这个图标就可以帮助我们查看手机的属性信息和设置功能.其 ...
- Mybatis核心配置文件中的标签介绍
0. 标签顺序 Mybatis核心配置文件中有很多标签,它们谁谁写在前写在后其实是有顺序要求的: 从前到后: properties?,settings?,typeAliases?,typeHandle ...
- MyBatis全局配置文件标签详解
一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...
- mybatis全局配置文件
一.properties:引入外部配置文件 1.resource :引入类路径下的全局配置文件,例如:<properties resource="conf/dbconfig.prope ...
- MyBatis全局配置文件MyBatis-config.xml代码
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
随机推荐
- ccf 再买菜 搜索 dfs
//递推关系式:(b[n-1]+b[n]+b[n+1])/3=a[n] //所以b[n+1]=3*a[n]-b[n-1]-b[n],或b[n+1]=3*a[n]-b[n-1]-b[n]+1,或b[n+ ...
- CentOS 7下安装Python3.6
CentOS 7下安装Python3.6.4 CentOS 7下安装Python3.5 •安装python3.6可能使用的依赖 yum install openssl-devel bzip2-de ...
- 1-tomcat简介
一.tomcate的目录结构说明: 1.bin:存放服务器启动和关闭的命令文件.2.conf:存放服务器的配置信息文件3.lib:存放服务器自身需要的所有jar文件,也称为全局jar文件(只要部署在当 ...
- camke使用例程
1 同文件夹直接编译 1 同文件夹直接编译 # cmake needs this line cmake_minimum_required(VERSION 2.8) # Define project n ...
- (四)surging 微服务框架使用系列之网关 转载
一.什么是API网关 API网关是一个服务器,是系统对外的唯一入口.API网关封装了系统内部架构,为每个客户端提供一个定制的API.API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入 ...
- TypeError: Buffer.alloc is not a function
错误信息:TypeError: Buffer.alloc is not a function 截图如下: 解决办法(依次从上往下执行): sudo npm cache clean -f sudo np ...
- linux初次入门学习小结
linux系统目录结构: 通过ls / 命令可以获得linux目录结构 bin boot dev etc home lib lib64 media mnt opt proc root sbin sel ...
- 在Ubuntu中部署并测试HyperLedger Fabric 0.6
最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验.如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来 ...
- docker容器中安装vi命令
在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时 ...
- Vue-插槽学习
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...