MyBatis
文章平均质量分 93
MyBatis是Apache的一个Java开源项目,是一款支持动态SQL语句的持久化框架,支持目的是让开发人员将精力集中在SQL语句上。
pan_junbiao
这个作者很懒,什么都没留下…
展开
-
MyBatis实现数据的批量新增和删除
在项目的开发中,我们经常需要对数据进行批量的操作,如:批量新增、批量删除等。下面将介绍MyBatis如何实现数据的批量新增和删除操作。创建UserMapper接口(用户信息Mapper动态代理接口),实现用户信息的批量新增、批量删除、批量查询。package com.pjb.mapper;import com.pjb.entity.UserInfo;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.an原创 2020-07-28 17:23:22 · 1948 阅读 · 0 评论 -
MyBatis使用注解式@One和@Many实现一对一、一对多关联查询
在MyBatis 3提供了新的基于注解的配置,下面将使用MyBatis的注解式@One和@Many实现一对一、一对多关联查询。(1)创建SpringBoot项目,项目结构如下图:(2)添加pom.xml配置信息在pom.xml配置文件中添加MyBatis、MySQL的JDBC数据库驱动。<!-- MyBatis与SpringBoot整合依赖 --><dependency> <groupId>org.mybatis.spring.boot&.原创 2020-07-28 11:13:11 · 20450 阅读 · 1 评论 -
MyBatis使用PageHelper实现分页查询
MyBatis的分页功能可以使用PageHelper来实现。【实例】MyBatis使用PageHelper实现分页查询,并显示分页信息。执行效果如下图:1、创建数据表在MySQL数据库中创建用户信息表(tb_user),并添加数据。-- 判断数据表是否存在,存在则删除DROP TABLE IF EXISTS tb_user; -- 创建“用户信息”数据表CREATE TABLE IF NOT EXISTS tb_user( user_id INT AUTO_INCREME原创 2020-06-16 17:18:18 · 30312 阅读 · 7 评论 -
MyBatis使用动态SQL注解@SelectProvider、@InsertProvider、@UpdateProvider、@DeleteProvider
MyBatis 3.x 版本提供了以下4个CRUD的高级注解。@SelectProvider:用于构建动态查询SQL。@InsertProvider:用于构建动态新增SQL。@UpdateProvider:用于构建动态更新SQL。@DeleteProvider:用于构建动态删除SQL。动态SQL注解主要用于编写动态SQL。这里以@SelectProvider为例,它主要包含两个注解属性,其中,type表示工具类,method表示工具类的某个方法(用于返回具体的SQL语句)。【示例】使原创 2020-06-15 16:49:01 · 11651 阅读 · 0 评论 -
Mybatis使用@Mapper和@MapperScan注解实现映射关系
MyBatis与Spring整合后需要实现实体和数据表的映射关系。实现实体和数据表的映射关系可以在Mapper类上添加@Mapper注解,如下代码:/** * 用户信息Mapper动态代理接口 * @author pan_junbiao **/@Mapper@Repositorypublic interface UserMapper{ /** * 新增用户,并获取自增主键 */ @Insert("INSERT INTO tb_user(user_a原创 2020-06-13 11:39:18 · 2993 阅读 · 0 评论 -
SpringBoot与MyBatis的整合与综合实例
SpringBoot是Spring框架的扩展,其设计目的是用来简化Spring应用的初始搭建以及开发过程,使得开发变得更快、更高效、更自动化。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程、以及高级映射。MyBatis3提供的注解可以取代XML。例如,使用注解@Select直接编写SQL完成数据查询。下面将介绍SpringBoot与MyBatis的整合。1、创建数据表在MySQL数据库中创建用户信息表(tb_user),并添加数据。-- 判断数据表是否存在,存在则删除原创 2020-06-12 17:28:43 · 1203 阅读 · 0 评论 -
SpringMVC/Spring/MyBatis框架的整合与综合实例
1、框架介绍1.1SpringMVC框架SpringMVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。SpringMVC基于请求驱动,即使用请求一响应模型。由于SpringMVC遵循MVC架构规范,因此分层开发数据模型层(Model)、响应视图层(View)和控制器层(Controller),可以让开发者设计出结构规整的...原创 2020-02-26 16:23:15 · 826 阅读 · 0 评论 -
MyBatis分页查询
在项目的开发中,需要经常对数据表进行分页查询。下面将介绍使用MyBatis实现对MySQL数据库表的分页查询,该分页方式仅适用于数据表中的数据量比较少的业务。【实例】分页查询用户列表,并显示分页信息。执行结果如下图:(1)创建数据库表在MySQL数据库中创建用户信息表(tb_user),并添加数据。-- 创建“用户信息”数据表CREATE TABLE IF NOT EXIS...原创 2019-12-21 17:22:09 · 945 阅读 · 0 评论 -
MyBatis与Spring的整合与综合实例
1、MyBatis与Spring的整合MyBatis是一款优秀的ORM框架。Spring是一款集控制反转、依赖注入与切面编程于一身的Java框架。下面将介绍MyBatis与Spring的整合。1.1 下载依赖的jar包(1)MyBatis框架相关的jar包由于是要与Spring框架整合,所有除了下载MyBatis的jar包之外,还需要下载MyBatis与Spring整合的jar包。...原创 2019-12-20 18:33:20 · 519 阅读 · 0 评论 -
MyBatis注解的使用综合实例
在MyBatis 3提供了新的基于注解的配置,下面将实现一个基于MyBatis注解的综合实例。1、增删改查与结果集映射【实例】使用MyBatis注解,实现对用户信息的增删改查操作和结果集的映射。(1)在MySQL数据库中创建用户信息表(tb_user)。-- 创建“用户信息”数据表CREATE TABLE IF NOT EXISTS tb_user( user_id I...原创 2019-12-19 11:53:58 · 549 阅读 · 0 评论 -
MyBatis注解配置详解
MyBatis 最初配置信息是基于 XML ,映射语句(SQL)也是定义在 XML 中的。而到了 MyBatis 3提供了新的基于注解的配置。MyBatis 提供的注解有很多,笔者进行了分类: 增删改查:@Insert、@Update、@Delete、@Select、@MapKey、@Options、@SelelctKey、@Param、@InsertProvider、@UpdateProv...转载 2019-12-18 11:23:38 · 1509 阅读 · 0 评论 -
MyBatis调用存储过程与存储函数
1、MyBatis调用存储过程MyBatis支持使用存储过程的配置。当使用存储过程时,需要设置一个参数“mode”,其值有IN(输入参数)、OUT(输出参数)和INOUT(输入/输出参数)。MyBatis定义存储过程如下:<!-- 存储过程 --><select id="selectSomeThing" statementType="CALLABLE" paramet...原创 2019-12-17 16:59:16 · 7188 阅读 · 2 评论 -
MyBatis获取自增主键
在日常开发业务中,有许多需要和id属性进行关联的其他数据,需要返回新增之后该条数据所对应的主键信息。对于MyBatis的自增主键,在执行insert语句之前,MySQL数据库会自动生成一个自增主键。在insert执行之后,通过MySQL的函数 LAST_INSERT_ID() 来获取刚刚插入记录的自增主键(即取出最后一个主键)。1、selectKey标签使用MyBatis提供的<se...原创 2019-12-16 11:58:40 · 729 阅读 · 0 评论 -
MyBatis传递多个参数
MyBatis是一款优秀的ORM框架。使用MyBatis进行开发时经常需要往方法中传递多个参数,下面将介绍几种MyBatis传递多个参数的方法。【示例】根据用户账号和用户密码,获取用户信息。(1)在MySQL数据库中创建用户信息表(tb_user),并添加数据。-- 创建“用户信息”数据表CREATE TABLE IF NOT EXISTS tb_user( id INT A...原创 2019-12-15 15:13:13 · 1111 阅读 · 0 评论 -
MyBatis动态代理
1、Mapper动态代理什么是Mapper动态代理?一般创建Web工程时,从数据库取数据的逻辑会放置在DAO层(Date Access Object,数据访问对象)。使用MyBatis开发Web工程时,通过Mapper动态代理机制,可以只编写数据交互的接口及方法定义,和对应的Mapper映射文件,具体的交互方法实现由MyBatis来完成。这样大大节省了开发DAO层的时间。实现Mapper动...原创 2019-12-14 11:28:26 · 296 阅读 · 0 评论 -
MyBatis实现多表的一对一、一对多、多对多关联查询
MyBatis是一个基于数据库映射的框架,本文将介绍如何使用MyBatis处理多张数据库表之间的关联关系。1、一对一查询一对一外键关联的配置比较简单,以公民实体对象和身份证实体对象为例,在表tab_people(公民表)中添加一个字段“card_id”,作为该表的外键,同时需要保证该字段的唯一性,否则就不是一对一映射关系了,而是一对多映射关系。表tab_people和tab_idcard(...原创 2019-12-13 18:48:14 · 6491 阅读 · 0 评论 -
MyBatis动态SQL语句
在Mapper配置文件中,有时候需要根据一些查询条件来选择不同的SQL语句,或者将一些使用频率高的SQL语句单独配置,在需要的地方引用。MyBatis提供了一种可以根据条件动态配置SQL语句,以及单独配置SQL语句块的机制。1、<where>标签、<if>标签当查询语句的查询条件由于输入参数的不同而无法确切定义时,可以使用<where>标签对来包裹需要动...原创 2019-12-12 15:41:27 · 553 阅读 · 0 评论 -
MyBatis应用:笔记
1、MyBatis全局配置文件SqlMapConfig.xml样例。2、SQL映射配置文件样例。3、开启延迟加载。4、开启自动驼峰命名规则(camel case)映射。5、保留2位小数的配置。1、MyBatis全局配置文件SqlMapConfig.xml样例【示例】下面按照MyBatis的全局配置文件中的配置顺序,给出一个配置了全部参数的样例配置文件。<?...原创 2019-12-11 15:40:55 · 397 阅读 · 0 评论 -
MyBatis驼峰命名规则
如果Java包装类使用驼峰命名规则,则不要忘记在全局配置文件中将mapUnderscoreToCamelCase属性设置为true,否则自动映射机制无法将SQL查询出的非驼峰命名方式的字段名与Java包装类中的属性进行自动映射。【示例】在MyBatis的全局配置文件SqlMapConfig.xml(mybatis-config.xml)中,开启驼峰命名规则。<!-- 开启自动驼峰命...原创 2019-12-11 11:20:58 · 3123 阅读 · 0 评论 -
MyBatis关联嵌套映射(association、collection、discriminator)
1、association属性(关联的嵌套映射)第一个属性是“关联的嵌套映射”,该属性的标签名称为“association”。在resultMap中,当映射type为Java包装类时,可能会遇到包装类中含有其他Java包装类的属性,这里resultMap提供了association标签来定义结果集中包含的其他结果集。【示例】查询订单信息(Order),并获取关联的用户信息(User)。...原创 2019-12-10 18:13:27 · 4055 阅读 · 0 评论 -
MyBatis配置文件(二):Mapper映射文件详解
Mapper顾名思义就是“映射”的意思,Mapper文件就是MyBatis中SQL语句的配置文件,其会在运行时加载SQL语句并映射相应参数。在MyBatis的全局配置文件SqlMapConfig.xml(mybatis-config.xml),其中就有mapper文件的资源路径的配置,因为创建SqlSessionFactory时会加载全局配置文件SqlMapConfig.xml,这说明Mapper...原创 2019-12-07 18:09:06 · 15155 阅读 · 1 评论 -
MyBatis配置文件(一):SqlMapConfig配置文件详解
1、configuration(配置)在创建Web工程时,最重要的一步就是配置工程的全局参数信息,以及数据库连接信息。对于MyBatis,最核心的全局配置文件就是SqlMapConfig.xml(mybatis-config.xml),其中不仅包含了数据库连接信息,同时还包含了Mapper映射文件的加载路径、全局参数以及类别别名等一系列MyBatis的核心配置信息。SqlMapConfig中的...原创 2019-12-06 11:33:39 · 15037 阅读 · 1 评论 -
MyBatis中#{}占位符与${}拼接符的使用
1、关于#{}占位符先来看以下的示例,该示例是MyBatis中的SQL映射配置文件(Mapper配置文件),在该配置中使用了#{}占位符。<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...原创 2019-12-02 18:03:49 · 7697 阅读 · 0 评论 -
MyBatis搭建开发环境与数据操作实例
MyBatis是Apache的一个Java开源项目,是一款支持动态SQL语句的持久化框架,支持目的是让开发人员将精力集中在SQL语句上。下面将介绍如何搭建MyBatis的开发环境。1、下载相关jar包需要下载的jar包:MyBatis框架jar包和JDBC数据库驱动。MyBatis的jar包下载地址:https://github.com/mybatis/mybatis-3/releas...原创 2019-11-13 16:58:19 · 613 阅读 · 0 评论