
Mybatis
Mybatis相关笔记
小小Java开发者
阿里云社区专家博主,专注于Java后端技术干货、项目源码总结分享,持续输出干货内容,希望跟大家一起学习进步,期待您的关注!
展开
-
Mybatis查询的时候BigDecimal类型的值查询失效的解决办法
最近在使用Mybatis查询的时候,使用了BigDecimal类型的值进行查询,在控制台通过打印的sql发现,查询条件并没有拼接上去,导致查询失败。为了演示还原这个过程,特意写了一个简单的演示项目:比如:我现在查询product_price字段大于0的数据,数据库的数据如下所示:mapper.xml中配置如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.or原创 2021-10-02 22:14:02 · 6744 阅读 · 0 评论 -
Mybatis框架(十四)Mybatis的缓存
什么事缓存[Cache]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。什么样的数据能使用缓存?经常查询并且不经常改变的数据。MyBatis 内置了一个强大的...原创 2020-03-05 21:04:51 · 225 阅读 · 0 评论 -
Mybatis框架(十三)Mybatis的动态SQL
本测试使用的数据库是book表:注:创建maven项目、导包过程不做介绍。动态SQL通常要做的事情是有条件地包含where子句的一部分。所以在MyBatis中,元素是最常用的元素。它类似于Java中的if语句。if标签用来实现根据条件拼接sql语句,下面示例用来判断参数如果不为null,则拼接sql。下面来测试元素,具体过程如下:添加SQL映射语句添加数据操作接口方法调用数据操作...原创 2020-03-04 11:12:54 · 234 阅读 · 0 评论 -
Mybatis框架(十一)Mybatis用注解实现CRUD
Mybatis用注解实现CRUD、这里只作具体的实现过程。前期创建项目等工作不再介绍。一、我们首先可以在工具类创建的时候实现自动提交事务。package com.wst.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibat...原创 2020-03-01 14:45:38 · 182 阅读 · 0 评论 -
Mybatis框架(十)Mybatis使用limit实现分页
Mybatis使用limit实现分页,前面的创建Maven项目,导入所需依赖包等环境在这里不再介绍。主要实现过程如下:一、编写Mapper接口。 List<Stu> getStuByLimit(Map<String,Integer> map); //分页二、编写Mapper对应的映射文件。 <!--分页--> <select id...原创 2020-03-01 10:51:00 · 1479 阅读 · 0 评论 -
Mybatis框架(九)Mybatis中使用Log4j
一、什么是Log4jLog4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件我们也可以控制每一条日志的输出格式通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。二、Log4j的三大组件Logger:日志记录器,负责收集处理日志记录 (如何处...原创 2020-02-29 20:57:42 · 858 阅读 · 1 评论 -
Mybatis框架(八)ResultMap结果集映射的简单使用
我们知道在之前的例子中resultType可以把查询到的结果,进行封装到pojo对象中,但是要求必须pojo类的属性名和查询到的数据库表中字段名必须一致才可以。看一下之间的例子的写法:比如根据id查询学生的全部信息: <!--根据学生id查找学生的全部信息--> <select id="getStuById" resultType="com.wst.pojo....原创 2020-02-29 11:14:11 · 267 阅读 · 0 评论 -
Mybatis框架(七)Mybatis的生命周期
Mybatis的核心组件有SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper 。Mybatis的运行流程:SqlSessionFactoryBuilderSqlSessionFactoryBuilder类可以被实例化、使用和丢弃,一旦创建了SqlSessionFactory,就不再需要它了。 因此 SqlSessi...原创 2020-02-28 14:16:41 · 781 阅读 · 0 评论 -
Mybatis框架(六)Mybatis的配置别名
在我们以前的Mybatis中引用pojo常常用以下方式:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"...原创 2020-02-28 11:36:49 · 486 阅读 · 0 评论 -
Mybatis框架(五)Mybatis的环境配置
Mybatis的核心配置Mybatis-config-xml下面介绍以上的主要一些属性:properties属性1、直接配置为 xml ,并使用这些属性对配置项实现动态配置。 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.or...原创 2020-02-27 20:22:37 · 576 阅读 · 0 评论 -
Mybatis框架(四)Mybatis利用Map接口传递多个参数
在实际应用中,查询SQL语句经常需要多个参数,例如:多条件查询,多个参数传递时,元素的parameterType属性值的类型是什么呢?在Mybatis中允许Map接口通过键值对传递多个参数。下面我们看一个例子:假设数据操作接口中有个实现查询姓张年龄是12岁的用户信息。此时,传递给映射器的是一个Map对象,使用它在SQL中设置对应的参数,对应SQL文件代码如下: <select id=...原创 2020-02-26 19:06:21 · 2718 阅读 · 0 评论 -
Mybatis框架(三)Mybatis的CRUD操作
在上一篇Mybatis框架(二)Mybatis的入门程序中实现了Mybatis的查找操作,本文章主要实现其余的几种操作,这里不再创建项目,将接着上篇继续操作:一、我们只需要更该接口StuMapper与Mapper的配置文件中的内容,其余不需要做变动。编写接口: Stu getStuById(int id); //根据学生的id查找学生信息 int addStu(Stu ...原创 2020-02-26 15:01:22 · 269 阅读 · 0 评论 -
Mybatis框架(二)Mybatis的入门程序
下面主要介绍使用Mybatis实现从数据库中查找数据。一、新建一个Maven项目。具体的创建过程这里不作介绍。二、导入maven依赖。在pop.xml中导入以下依赖包。 <dependencies> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <depend...原创 2020-02-26 12:23:54 · 354 阅读 · 0 评论 -
Mybatis框架(一)Mybatis介绍
1、什么是MybatisMyBatis 是一款优秀的持久层框架,属于ORM映射,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库...原创 2020-02-25 19:13:09 · 320 阅读 · 0 评论