MyBatis
文章平均质量分 78
aFa攻防实验室
专注于代码审计、WEB渗透、网络攻防、红蓝对抗等技术
展开
-
MyBatis 配置 properties 详解
0x00:前言参考之前的《MyBatis 中 SqlMapConfig 配置文件详解》记了一下 MyBatis 中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中 properties 标签的详细使用。0x01:介绍在 SqlMapConfig 配置文件中,properties 标签中的配置可以供整个配置文件使用,在任何位置都可以引入其中配置的值。properties...原创 2018-06-20 22:56:18 · 3168 阅读 · 0 评论 -
MyBatis 配置 environments 详解
0x00:前言参考之前的《MyBatis 中 SqlMapConfig 配置文件详解》记了一下 MyBatis 中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中 environments 标签的详细使用。0x01:标签介绍在 MyBatis 中,environments 是放有关数据库连接数据的配置信息的,其中可以配置多个数据库的连接环境,方便 sql 语句可以适用...原创 2018-06-26 22:30:18 · 2938 阅读 · 2 评论 -
MyBatis 配置之关联的嵌套
0x00:前言介绍在 MyBatis 的 resultMap 输出映射配置中,当映射 type 为 Java 包装类时,可能会遇到包装类中含有其他 Java 包装类的属性,这里 resultMap 提供了 association 标签来定义结果集中包含的结果集。0x01:代码示例例如一个购物车示例,在查询购物车时关联了购物车的用户信息,其中购物车 ShoppingCart 的包装类代码...原创 2018-07-02 22:08:38 · 243 阅读 · 0 评论 -
MyBatis 配置 mappers 详解
0x00:前言参考之前的《MyBatis 中 SqlMapConfig 配置文件详解》记了一下 MyBatis 中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中 mappers 标签的详细使用。0x01:标签介绍MyBatis 是基于 sql 映射配置的框架,sql 语句都写在 Mapper 配置文件中,当构建 SqlSession 类之后,就需要去读取 Mappe...原创 2018-06-27 22:10:07 · 27010 阅读 · 4 评论 -
MyBatis 与 Spring 整合
0x00:前言介绍在 MyBatis 中,最重要的类想必就是 SqlSessionFactory 类了,它的作用就是通过加载全局的配置文件和 Mapper 映射文件,然后初始化连接参数,去创建会话的实例类 SqlSession。而 SqlSession 类的作用就是与数据库连接,执行 Mapper 映射文件中的 sql 语句。那在 Spring 与 MyBatis 整合的环境当中,Spri...原创 2018-07-10 17:47:29 · 268 阅读 · 0 评论 -
MyBatis 配置之集合的嵌套
0x00:前言介绍在一些查询结果包装类中,包含一些 List 集合属性,使用 collection 标签可以声明该 List 集合中属性的类型,便于 MyBatis 对包装类中的集合类型属性进行映射。0x01:代码示例例如商城,取出某一个商品信息以及该商品的评价列表,其中商品包装类 Product 的定义代码如下:package cn.com.mybatis.pojo;publ...原创 2018-07-03 22:25:51 · 1667 阅读 · 0 评论 -
MyBatis映射文件详解
0x00:文件介绍在MyBatis中,Mapper映射文件就是sql语句的配置文件,其会在运行时加载sql语句并映射相应参数。在映射文件中,根据不同的sql语句性质,要使用不同的标签来包裹,其中涉及到的标签如下表:0x01:增删改查示例insert配置示例:<insert id="insertUser" parameterType="cn.com.mybati...原创 2018-06-28 23:19:03 · 338 阅读 · 0 评论 -
MyBatis 自动映射
0x00:引子在 MyBatis 的映射配置文件中,select 标签查询配置结果集时使用过 resultType 属性,当在 resultType 中定义一个 Java 包装类时,如果 sql 语句查询的结果中有列名与该 Java 包装类中的属性名一致,则该字段就会被映射到该属性上。这里用到的就是 MyBatis 的自动映射功能,当 sql 语句查询出结果时,如果对应输出配置的 Java...原创 2018-07-04 22:41:01 · 11153 阅读 · 0 评论 -
MyBatis 如何配置动态的 sql 语句
0x00:介绍我们在配置 MyBatis 映射文件的时候,会遇到以下几种情况,例如说要根据一些查询条件去选择不同的 sql 语句,或者说把那些使用频率特别高的 sql 语句单独的配置出来,然后在需要它的地方直接引用即可。这就需要用到了 MyBatis 的动态配置 sql 语句机制。0x01:代码示例当碰到需要根据查询条件选择不同的 sql 语句情况时,我们可以使用 where 标签来配...原创 2018-07-05 21:41:08 · 463 阅读 · 0 评论 -
MyBatis 输出映射配置详解
0x00:输出映射在 MyBaits 的 Mapper 映射文件中,sql 语句查询后返回的结果,会映射到配置标签的输出映射属性对应的 Java 类型中。Mapper 的输出映射有两种配置,分别是 resultType 和 resultMap。0x01:resultTyperesultType 支持基本的数据类型、数据包装类和自定义的 JavaBean 包装类。当从数据库查询出来的列名...原创 2018-07-01 19:21:44 · 371 阅读 · 0 评论 -
MyBatis 中 SqlMapConfig 配置文件详解
0x00:文件介绍在 WEB 工程中,对于 MyBatis 最核心的全局配置文件是 SqlMapConfig.xml 文件,其中包含了数据库的连接配置信息、Mapper 映射文件的加载路径、全局参数、类型别名等。0x01:配置项详解configuration:包裹所有配置标签,是整个配置文件的顶级标签。properties:属性,该标签可以引入外部配置的属性,也可以自己配置。该配置...原创 2018-06-19 21:56:06 · 6503 阅读 · 1 评论 -
MyBatis 配置 plugins 详解
0x00:前言参考之前的《MyBatis 中 SqlMapConfig 配置文件详解》记了一下 MyBatis 中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中 plugins 标签的详细使用。0x01:标签介绍在某种情况下,需要在执行程序的过程中对某一点进行拦截,并在拦截后做出一系列处理,此时就需要使用一种拦截器。在 MyBatis 中,对某种方法进行拦截调用的机...原创 2018-06-25 22:20:28 · 6213 阅读 · 2 评论 -
MyBatis 配置 setting 详解
0x00:前言参考之前的《MyBatis 中 SqlMapConfig 配置文件详解》记了一下 MyBatis 中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中 setting 标签的详细使用。0x01:标签介绍setting 标签的配置是配置 MyBatis 框架运行时的一些行为的,例如缓存、延迟加载、结果集控制、执行器、分页设置、命名规则等一系列控制性参数,其所...原创 2018-06-21 23:11:25 · 17076 阅读 · 0 评论 -
MyBatis 配置 typeAliases 详解
0x00:前言参考之前的《MyBatis 中 SqlMapConfig 配置文件详解》记了一下 MyBatis 中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中 typeAliases 标签的详细使用。0x01:标签介绍在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType、resultType 来设置 sql 语句的输入输出参数,一般参...原创 2018-06-22 17:47:14 · 60749 阅读 · 9 评论 -
MyBatis的架构和其运行流程
0x00:MyBatis 架构组成MyBatis 整体的架构组成为:数据源配置文件、SQL 映射配置文件、会话工厂、会话、执行器以及底层封装对象组成。0x01:数据源配置文件对于持久层框架,连接数据库是最重要的一步。MyBatis 框架对于数据库连接的配置信息采用了数据库连接池的形式。数据库连接池负责分配、管理、和释放数据库连接,其只使用一个连接,提高了操作性能。不像 JDBC,每次对...原创 2018-06-15 22:30:42 · 350 阅读 · 0 评论 -
MyBatis 配置 typeHandlers 详解
0x00:前言参考之前的《MyBatis 中 SqlMapConfig 配置文件详解》记了一下 MyBatis 中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中 typeHandlers 标签的详细使用。0x01:标签介绍在 MyBatis 的 sql 映射配置文件中,为 sql 配置的输入参数最终要从 java 类型转换成数据库能识别的类型,而从 sql 的查询结...原创 2018-06-23 21:32:08 · 10693 阅读 · 0 评论 -
MyBatis工作环境的搭建
0x00:开发步骤MyBatis 工作环境开发步骤为:创建工程、引入依赖 jar 包、搭建日志输出环境、配置数据库连接池、创建持久层 Java 对象、编写 Mapper 配置文件、编写可运行的样例代码。0x01:准备数据库以查询数据为例,数据库是一个用户表,库为 mybatis_test, 表为 user,里面包含用户的 id、姓名、密码、性别、邮箱、住址等。结构如下图:...原创 2018-06-17 14:31:52 · 1655 阅读 · 0 评论 -
MyBatis 配置 objectFactory 详解
0x00:前言参考之前的《MyBatis 中 SqlMapConfig 配置文件详解》记了一下 MyBatis 中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中 objectFactory 标签的详细使用。0x01:标签介绍在 MyBatis 中,当其 sql 映射配置文件中的 sql 语句所得到的查询结果,被动态映射到 resultType 或其他处理结果集的参数...原创 2018-06-24 21:31:10 · 4484 阅读 · 1 评论 -
MyBatis 输入映射配置详解
0x00:输入映射在增、删、改、查配置标签中,有许多 sql 配置是需要传递参数的。在 MyBatis 的 sql 映射配置文件 Mapper.xml 中,输入参数属性配置在 paramterType 中。对于 paramterType 属性,可以配置的基本数据类型有 int、double、float、short、long、byte、char、boolean,基本数据包装类有 Byte、S...原创 2018-06-29 23:39:08 · 702 阅读 · 0 评论 -
MyBatis 增删改查基础
0x00:前言以之前的文章MyBatis 工作环境的搭建示例为基础,记以下 MyBatis 对数据库的 CURD 操作。0x01:模糊查询首先,需要在 sql 配置文件 UserMapper.xml 中配置相应的 sql 映射,代码如下:<select id="findUserByUsername" parameterType="java.lang.String" res...原创 2018-06-18 21:30:29 · 351 阅读 · 0 评论 -
MyBatis 缓存结构
0x00:什么是缓存在网站的各种业务中,几乎离不开对数据库的增删改查操作,当一个功能点经常需要从数据库读取数据时,访问量大的网站,对数据库会造成很大的压力,这时候,为了缓解数据库的压力,提高运行速度,则缓存就是其中的一个解决办法。缓存就是第一次用户发来的请求时,将请求的结果放到缓存中,之后其他用户发来同一个请求时,就会直接从缓存中读取第一次保存的数据,减小数据库压力的同时也提高了查询速度。...原创 2018-07-07 08:51:09 · 658 阅读 · 0 评论