MyBatis—02—代替Dao层的mapper映射文件;MyBatis配置文件详解

Posted ericshen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis—02—代替Dao层的mapper映射文件;MyBatis配置文件详解相关的知识,希望对你有一定的参考价值。

    


 

 

一. Mapper 映射文件

在JDBC中,我们会把访问数据库的代码放在Dao层,也就是建一个com.dao的package;
但在 MyBatis 中, 我们的包名推荐使用 mapper ,  并且我们只需要写一个映射配置文件即可, 不需要写接口和实现类了.
UserMapper.xml, 用于定义要执行的 SQL 语句, 同时设定返回结果的类型.

1.编写mapper层的xml映射文件

技术图片

2. 在MyBatis核心配置文件中添加 mapper 扫描

技术图片

 

 3.测试

 技术图片

 

 

 

 

二. MyBatis 配置文件详解

1.MyBatis核心配置文件

(1)configuration
这是配置文件的根元素, 所有的其他元素都要在这个标签下使用.
(2)environments
用于管理所有的环境, 并可以指定默认使用哪个环境. 通过default 属性来指定.
(3)environment
用于配置环境,  id 属性用于唯一标识当前环境
(4)transcationManager事务管理器:
用于配置事务管理器其中的type 属性用于指定 MyBatis 采用何种方式管理事务:
  • a) JDBC: 表示 MyBatis 采用与原生 JDBC 一致的方式管理事务
  • b) MANAGED: 表示将事务管理交给其他容器进行, 例如 Spring1.5用于配置数据源, 设置 MyBatis 是否使用连接池技术, 并且配置数据库连接的四个参数
(5)datasource数据源:
它的type 属性用于设置 MyBatis 是否使用连接池技术:
  •  POOLED, 表示采用连接池技术(可以减少每次获取连接的时间)
  •  UNPOOLED, 表示每次都会开启和关闭连接, 不使用连接池技术
  •  JNDI, 使用其他容器(例如 Spring)提供数据源
(6)<proverty  name=  value=   />
用于配置数据库连接参数(driver, url, username, password)
(7)<mappers></mappers>
用于扫描 mapper 信息

2. mapper 层的映射配置文件

2.1<mappers></mappers>
根元素
(1) namespace 属性
用于指定命名空间, mybatis 是通过 namespace+id 的方式来定位 SQL语句的, 所以必须指定namespace. 通常namespace被配置为全限定路径
(2)select属性
表示查询;
 
 
 
 

三. MyBatis 中常用的三个查询方法

1.selectList

用于查询多条数据的情况, 返回值是一个 list 集合. 如果没有查到任何数据, 返回没有元素的空List集合(空集合, 不是 null)
 

2. selectOne

用于查询单条数据的情况, 返回值是一个对象. 如果没有查到任何数据, 返回 null
 

3. selectMap

用于查询多条数据的情况, 多条数据要形成一个 Map 集合(即键值对),  需要指定哪个属性作为 key. 如果查不到, 返回一个空 map 集合(不是 null);
 
注意:selectMap方法, 也可以调用mapper层xml文件中的 selAll;
技术图片

 

 

以上是关于MyBatis—02—代替Dao层的mapper映射文件;MyBatis配置文件详解的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis sql映射器 Mapper

MyBatis开发Dao层的两种方式(Mapper动态代理方式)

MyBatis开发Dao层的两种方式(Mapper动态代理方式)

[转] MyBatis的XxxMapper.xml 映射器的详解

Mybatis映射器

mybatis配置好了MapperScannerConfigurer 注入了映射器 为啥启动Tomcat 就报错 一定要我写dao的Impl