但在 MyBatis 中, 我们的包名推荐使用 mapper , 并且我们只需要写一个映射配置文件即可, 不需要写接口和实现类了.
UserMapper.xml, 用于定义要执行的 SQL 语句, 同时设定返回结果的类型.
二. 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;