随笔 - 1162
文章 - 0
评论 - 16
阅读 -
59万
随笔分类 - MyBatis
MyBatis框架
MyBatis(四)映射文件 之 注解开发
摘要:一、注解开发 在面向接口开发中,我们可以在接口中声明方法,然后通用配置其对应的SQL映射文件来实现增删改查,当我们面对一些简单的SQL语句时,还有一种更简单的开发方式,那就是通过注解开发,省略掉SQL映射文件。 使用注解开发: public interface EmployeeMapperAnnot
阅读全文
MyBatis(四)映射文件 之 一对多映射查询
摘要:一、一对多映射关系 POJO 中的属性可能会是一个对象的集合,当我们查询一方的信息时,还想要知道多方的信息,就需要用到一对多查询。(如:查询部门信息,同时查询部门中的员工信息) 使用 collection 标签来定义对象的封装规则。 两个 JavaBean 类: Employee 类 public
阅读全文
MyBatis(四)映射文件 之 多对一映射查询
摘要:一、多对一映射关系 POJO 中的属性可能会是一个对象,当我们查询多方的信息时,还想要知道一方的信息,就需要用到一对多查询。 我们可以使用联合查询,并以级联属性的方式封装对象,使用 association 标签来定义对象的封装规则。 两个 JavaBean 类: Employee 类 public
阅读全文
MyBatis(四)映射文件 之 resultMap 自定义映射
摘要:一、resultMap 自定义映射 1、resultMap 是什么 resultMap 是自定义的映射关系,可实现高级结果集映射。 注意:resultMap 不能与 resultType 同时使用。 2、子标签说明 constructor - 类在实例化时, 用来注入结果到构造方法中 – idArg
阅读全文
MyBatis(四)映射文件 之 resultType 自动映射
摘要:resultType 自动映射 1、全局 setting 设置 (1)autoMappingBehavior 默认是 PARTIAL,开启自定映射的功能。唯一的要求是结果集列名和 JavaBean 属性名一致; <settings> <!-- 指定是否以及如何自动映射指定的列到字段或属性 --> <
阅读全文
MyBatis(四)映射文件 之 查询的几种情况
摘要:resultType:返回值类型,别名或者全类名,如果返回的是集合,定义集合中元素的类型。 resultType 与 resultMap 不能同时使用。 一、常见的查询情况 1、查询单行数据返回单个对象 //根据 id 查询一个员工信息 public Employee getEmpById(Inte
阅读全文
MyBatis(四)映射文件 之 参数获取详解#{} 与 ${}
摘要:一、#{} 与{}:可以获取map中的值或者pojo对象属性的值; 区别: #{}:是以预编译的形式,将参数设置到sql语句中;PreparedStatement;防止sql注入; ${}:取出的值直接拼装在sql语
阅读全文
MyBatis(四)映射文件 之 参数处理
摘要:一、参数传递 1、单个参数 可以接收基本类型,包装类型,字符串类型等。 这种情况 MyBatis 可直接使用这个参数,不需要经过任何处理。 通过 #{参数名/任意名}:取出参数值; 2、多个参数 任意多个参数,都会被 MyBatis 重新包装成一个 Map 传入。 Map 的 key 是 param
阅读全文
MyBatis(四)映射文件 之 parameterType 属性
摘要:parameterType 属性 当在执行 insert 或 update 操作时,需要传递一个 JavaBean 对象。 <!-- public void addEmp(Emp emp); --> <insert id="addEmp"> insert into emp values(null,
阅读全文
MyBatis(四)映射文件 之 主键生成策略
摘要:一、主键生成方式 1、支持主键自增,例如:MySQL数据库 2、不支持主键自增,例如:Oracle 数据库 常见需求:插入一条新数据,立马获取新数据的主键,然后查询这条数据 二、原生 JDBC 中的主键生成 在原生 JDBC 中有这样一个方法 conn.prepareStatement(sql, a
阅读全文
MyBatis(四)映射文件 之 增删改查
摘要:一、准备工作 1、创建数据库中对应的 JavaBean public class Employee { private Integer id; private String lastName; private String gender; private String email; public E
阅读全文
MyBatis(四)映射文件
摘要:1、MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。 MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。 2、SQL 映射
阅读全文
MyBatis(三)全局配置文件 之 databaseProvider 数据库厂商标识
摘要:databaseIdProvider环境 一、databaseIdProvider 属性 MyBatis 可以根据不同的数据库厂商执行不同的语句 <databaseIdProvider type="DB_VENDOR"> <!-- 为不同的数据库厂商起别名 --> <property name="M
阅读全文
MyBatis(三)全局配置文件 之 mappers 映射器
摘要:mappers 映射器 一、mappers 映射器 用来在 MyBatis 初始化的时候,告诉 myBatis 需要引入哪些 Mapper 映射文件 二、注册SQL映射文件 1、逐个注册 mapper 逐个注册 SQL 映射文件 (1)注册配置文件方式 ① resources:引入类路径下的文件sq
阅读全文
MyBatis(三)全局配置文件 之 environments 环境配置
摘要:environment环境配置 一、environment 环境配置 1、MyBatis 可以配置多种环境,比如开发、测试和生成环境需要有不同的配置 2、每种环境使用一个 environment 标签进行配置并指定唯一标识符 3、可以通过 environment 标签中的 default 属性指定一
阅读全文
MyBatis(三)全局配置文件 之 plugins 插件
摘要:plugins插件 一、关于插件 插件是MyBatis提供的一个非常强大的机制,我们可以通过插件来修改MyBatis的一些核心行为。 插件通过动态代理机制,可以介入四大对象的任何一个方法的执行。后面会有专门的章节我们来介绍mybatis运行原理以及插件。 二、四大对象 (1)Executor (up
阅读全文
MyBatis(三)全局配置文件 之 typeHandlers 类型处理器
摘要:typeHandlers类型处理器 一、typeHandlers类型处理器 无论是 MyBatis 在预处理语句(PreparedStatement) 中设置一个参数时,还是从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成 Java 类型。 二、MyBatis 中提供的类型处理器
阅读全文
MyBatis(三)全局配置文件 之 typeAliases 类型命名
摘要:typeAliases 类型命名 typeAliases 别名处理器:可以为我们的java类型起别名(别名不区分大小写) 方式一: 类型别名是为 Java 类型设置一个短的名字,可以方便我们引用某个类 <typeAliases> <!-- 为类型设置类型别名 type:指定的要起别名的类型的全类名,
阅读全文
MyBatis(三)全局配置文件 之 properties 属性
摘要:Properties 属性 Mybatis 可以使用 properties 来引入外部properties配置文件或资源文件中的内容。 properties 标签有两个属性: resource:引入类路径下的资源; url:引入网络路径或者磁盘路径下的资源。 方式一: 可外部配置且可动态替换的,既可
阅读全文