
Mybatis
萧曵 丶
谦逊,勤恳.
展开
-
Mybatis获取实际执行的sql语句 并结合业务操作
package com.xiaoye.interceptor;import com.baomidou.mybatisplus.core.enums.IEnum;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;import com.baomidou.mybatisplus.core.toolkit.PluginUtils;import com.baomidou.mybatisplus.core.toolkit.StringUt原创 2020-06-20 16:07:22 · 3394 阅读 · 0 评论 -
Cause: java.lang.IllegalStateException: Cannot define both nestedQueryId and nestedResultMapId in pr
出了这个错,那肯定是Mybatis嵌套查询的报的错。解决:在你的collection标签里把resultMap干掉就可以了!原创 2020-06-03 23:10:00 · 4056 阅读 · 0 评论 -
SSM+mysql接收表情字段utf8mb4编码问题
错误:incorrect string value: '\xF0\x9F\x8D\x91\xE5\xB0...' for column...1.spring配置文件:url=jdbc\:mysql\://localhost\:3306/db_abc?useUnicode\=true&characterEncoding\=UTF-82.修改需要存储字符表情的字段字符集编码为utf...原创 2018-08-20 20:03:19 · 384 阅读 · 0 评论 -
spring,mybatis事务管理配置与@Transactional注解使用
概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects)支持声明式事务管理...转载 2018-07-07 23:27:13 · 1040 阅读 · 0 评论 -
Mybatis parameterType多个参数
一、单个参数:public List<XXBean> getXXBeanList(@param("id")String id); <select id="getXXXBeanList" parameterType="java.lang.String" resultType="XXBean"> select t.* from tableName t wher原创 2018-07-24 15:21:03 · 779 阅读 · 0 评论 -
MyBatis的foreach语句详解
MyBatis的foreach语句详解foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator...原创 2019-05-20 19:32:01 · 366 阅读 · 0 评论 -
Mybatis分页插件PageHelper的配置和使用方法
前言在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。前端分页一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。特点是:简单,很适合小规模的web平台;当数据量大的时候会产生性能问题,在查询和网络传输的时间会很长。后端分页在ajax请...转载 2018-06-25 10:45:14 · 9711 阅读 · 0 评论 -
SpringBoot整合Mybatis 以及 mybatis自动生成代码配置
1、springboot的配置文件application.yml[html] view plain copy#端口 server: port: 8080 #模板页面 #注释的部分是Thymeleaf默认的配置,如有其它需求可以自行更改 spring: thymeleaf: cache: false prefix: classpat...转载 2018-06-22 23:09:08 · 1648 阅读 · 1 评论 -
mybatis中映射文件和实体类的关联性
mybatis的映射文件写法多种多样,不同的写法和用法,在实际开发过程中所消耗的开发时间、维护时间有很大差别,今天我就把我认为比较简单的一种映射文件写法记录下来,供大家修改建议,争取找到一个最优写法~~:以User对象和UserMap.xml为例讲解,代码如下:User为用户实体类(仅作为讲解,可以只关注引用类型变量,get/set方法省略):import com.google.common.c...转载 2018-05-29 16:33:56 · 839 阅读 · 1 评论 -
MyBatis <set>标签的使用
MyBatis在生成update语句时若使用if标签,如果前面的if没有执行,则可能导致有多余逗号的错误。使用set标签可以将动态的配置SET 关键字,和剔除追加到条件末尾的任何不相关的逗号。 没有使用if标签时,如果有一个参数为null,都会导致错误,如下示例:Xml代码<update id="updateByPrimaryKeySelective" parameterType="Recr...原创 2018-05-29 11:51:42 · 1356 阅读 · 1 评论 -
MyBatis:Insert操作详解(返回主键、批量插入)
一、前言 数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅。 二、 insert元素 属性详解 其属性如下: parameterType ,入参的全限定类名或类型别名 keyColumn ,设置数据表自动生成的...转载 2018-06-04 00:12:55 · 639 阅读 · 0 评论 -
【MyBatis】MyBatis分页插件PageHelper的使用
我们知道,在mysql中,分页的sql是使用limit来做,如果我们自己写sql,那分页肯定是没有任何问题的。但是一旦model多了起来,复杂了起来,我们很自然的想到使用mybatis的逆向工程来生成相应的po和mapper,但是同时也会带来弊端,比如这里的分页问题就不好解决了。 可能有人会说,我可以修改生成的文件,没错,这是可行的,但是一般我们通过逆向工程生成的文件,都不会去动它,所以这个...转载 2018-06-03 23:40:34 · 332 阅读 · 0 评论 -
SSM框架+Maven+Hibernate(校验)+Mysql整合
知识总是会遗忘,写下来,加深记忆.项目:pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://m...原创 2018-05-14 16:42:54 · 739 阅读 · 0 评论 -
there is no statement named xxx in this SqlMap
两种情况:1.你的sqlmap 文件中确实没有xxx这个statement ,很有可能某个字母写错了2.sqlmap文件定义了namespace属性,此时在本文件中引用别的statement,就需要这样写:(你的namespace).(定义的statement 的id),如果把namespace属性漏了,就被报此异常...原创 2018-05-09 15:00:12 · 4907 阅读 · 0 评论 -
spring整合mybatis报错Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容
在spring的配置文件中配置mybatis时使用的是: <!--控制和MyBatis整合--> <bean class="org.mybatis.spring.SqlSessionFactoryBean"> <!--指定Mybatis全局配置文件路径--> <property name="configLoca...原创 2018-04-12 09:48:04 · 19348 阅读 · 4 评论 -
Mybatis 中 foreach collection的三种用法
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素进行迭代时的别名, index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置, open表示该语句以什么开始, separator表...原创 2018-07-27 17:04:36 · 417 阅读 · 0 评论 -
MyBatis传入多个参数的问题
一、单个参数:public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList" parameterType="java.lang.String" resultType="XXBean"> select t.* from tableName t where t.id= ...原创 2018-07-28 08:38:18 · 192 阅读 · 0 评论 -
Mybatis中大于等于小于等于的写法
第一种写法(1):原符号 < <= > >= & ’ "替换符号 < <= > >= & ’ "例如:sql如下:create_date_time >= #{startTime} and create...转载 2019-05-23 11:13:04 · 282 阅读 · 0 评论 -
SpringBoot加载Mybatis的TypeAlias问题
springboot打成jar之后再linux上运行会报找不到 type alias 对应的实体类的问题,这是springboot扫包的问题。工程上默认使用的是Mybatis的DefaultVFS进行扫描,但是在springboot的环境下,Mybatis的DefaultVFS这个扫包会出现问题,所以只能修改VFS,为了清晰可见,直接贴代码:@Bean public SqlSessio...原创 2019-03-18 16:41:39 · 2201 阅读 · 0 评论 -
Failed to load driver class com.mysql.jdbc.Driver from HikariConfig class classloader sun.misc.Launc
1、错误日志 Failed to load driver class com.mysql.jdbc.Driver from HikariConfig class classloader sun.misc.Launcher$AppClassLoader@18b4aac2 Reason: Failed to load driver class com.mysql.jdbc.Driver in e...原创 2019-03-10 10:21:52 · 5891 阅读 · 0 评论 -
springboot整合mybatis报错
今日将mybatis整合进项目中后,启动后报错Property 'configuration' and 'configLocation' can not specified with together经检查,是因为application.yml文件的mybatis配置里。configuration和config-location属性冲突,不能同时设置。解决方案是把configuration写...原创 2019-03-10 10:20:21 · 323 阅读 · 0 评论 -
mybatis-generator 插件无法在maven 的 Plugins显示怎么办
今天搭建一个项目的时候,在标签下的pluginManagement 配置了mybatis-generator,却发现mybatis-generator始终不显示。然后调整generator插件与pluginManagement标签同级 便可正常显示出来了。这里mark一下。...原创 2019-01-06 11:05:32 · 1665 阅读 · 1 评论 -
mybatis批量update,返回行数为-1
mybatis批量更新返回结果为1,是由于mybatis的defaultExExecutorType引起的,它有三个执行器:SIMPLE 就是普通的执行器;REUSE 执行器会重用预处理语句(prepared statements); BATCH 执行器将重用语句并执行批量更新。BATCH可以批量更新操作,缓存SQL以提高性能,缺陷就是无法获取update、delete返回的行数。如果要拿到...原创 2019-01-10 16:27:02 · 6736 阅读 · 0 评论 -
mybatis中大于等于,小于等于
>=使用 <![CDATA[>=]]>><=使用 <![CDATA[<=]]>原创 2018-12-17 15:21:44 · 279 阅读 · 0 评论 -
MyBatis mapperLocations、basePackage多数据路径配置
文章目录单数据路径配置多数据路径配置常相关异常单数据路径配置 <bean id="sqlSessionFactory2" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource2" /> <原创 2018-10-15 16:51:59 · 2821 阅读 · 0 评论 -
Mybatis中进行批量更新(updateBatch)
文章目录逐条更新sql批量更新背景描述:通常如果需要一次更新多条数据有两个方式,(1)在业务代码中循环遍历逐条更新。(2)一次性更新所有数据(更准确的说是一条sql语句来更新所有数据,逐条更新的操作放到数据库端,在业务代码端展现的就是一次性更新所有数据)。两种方式各有利弊,下面将会对两种方式的利弊做简要分析,主要介绍第二种方式在mybatis中的实现。逐条更新这种方式显然是最简单,...原创 2018-09-26 19:18:30 · 5951 阅读 · 0 评论 -
org.mybatis.generator.exception.XMLParserException: XML Parser Error on line 45: 元素类型为 "context" 的内容
必须匹配“property*,plugin*,commentGenerator?,jdbcConnection,javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+)”。 at org.mybatis.generator.config.xml.ConfigurationParser.pa...原创 2018-10-02 20:52:27 · 4020 阅读 · 0 评论 -
springboot集成mybatis及mybatis generator工具使用
前言mybatis是一个半自动化的orm框架,所谓半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis,mybatis非常灵活,可以随心所欲的编写自己的sql语句来实现复杂的数据库操作,还会有一种畅酣淋漓的编写sql语句的潇洒感,但是以前的mybaits需要一大堆的...原创 2018-10-02 20:40:04 · 194 阅读 · 0 评论 -
Mybatis Generator最完整配置详解
作者<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-con...转载 2018-10-02 20:31:27 · 191 阅读 · 0 评论 -
Mybatis XML 映射配置文件
官方文档MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下:configuration 配置properties 属性settings 设置typeAliases 类型别名typeHandlers 类型处理器objectFactory 对象工厂plugins 插件environments 环境enviro...转载 2018-04-04 14:28:29 · 205 阅读 · 0 评论 -
SSM框架搭建(Maven项目)
一.项目的整体目录结构二.构建Maven项目三、pom文件[html] view plain copy<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apach...原创 2018-04-15 22:03:45 · 434 阅读 · 0 评论 -
mybatis中#和$符号的区别
mybatis做为一个轻量级ORM框架在许多项目中使用,因其简单的入门受到了广大开发者的热爱。在近期项目中再做一个相关的开发,碰到了#、$符号这样的问题,之前没怎么注意过,通过学习之后,有了点感悟,分享如下,#{} 使用#{}意味着使用的预编译的语句,即在使用jdbc时的preparedStatement,sql语句中如果存在参数则会使用?作占位符,我们知道这种方式可以防止sql注入,并且在使用#...转载 2018-03-19 11:17:30 · 192 阅读 · 0 评论 -
MyBatis的一级缓存实现详解 及使用注意事项
0.写在前面 MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上。MyBatis提供了一级缓存、二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高系统的性能。本文的目的则是向读者详细介绍MyBatis的一级缓存,深入源码,解析MyBatis一级缓存的实现原理,并且针对一级缓存的特点提出了在实际使用过程中应该注意的事项。转载 2018-02-01 21:49:22 · 11764 阅读 · 9 评论 -
《深入理解mybatis原理》 Mybatis数据源与连接池
对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题。本文将通过对MyBatis框架的数据源结构进行详尽的分析,并且深入解析MyBatis的连接池。 本文首先会讲述MyBatis的数据源的分类,然后会介绍数据源是如何加载和使用的。紧接着将分类介绍UNPOOLED、POOLED和JNDI类型的数据源组织;期间我们会重点讲解POOLED类型的数据源和其实现的转载 2018-01-23 21:37:03 · 214 阅读 · 0 评论 -
深入理解mybatis原理》 MyBatis的架构设计以及实例分析
MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。一、MyBatis的框架设计 注:上图很大程度上参考了iteye 上的chenjc_it 所写的博文原理分析之二:框架整转载 2018-01-23 21:35:48 · 234 阅读 · 0 评论 -
《深入理解mybatis原理》 Mybatis初始化机制详解
对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外。本章将通过以下几点详细介绍MyBatis的初始化过程。 1.MyBatis的初始化做了什么 2. MyBatis基于XML配置文件创建Configuration对象的过程 3. 手动加载XML配置文件创建Configuration对象完成初始化,创建并使用SqlSessionFactory对转载 2018-01-23 21:35:29 · 177 阅读 · 0 评论 -
《深入理解mybatis原理》 MyBatis事务管理机制
MyBatis作为Java语言的数据库框架,对数据库的事务管理是其非常重要的一个方面。本文将讲述MyBatis的事务管理的实现机制。首先介绍MyBatis的事务Transaction的接口设计以及其不同实现JdbcTransaction 和 ManagedTransaction;接着,从MyBatis的XML配置文件入手,讲解MyBatis事务工厂的创建和维护,进而阐述了MyBatis事务的创建和转载 2018-01-23 21:33:41 · 196 阅读 · 0 评论 -
Java Persistence with MyBatis 3(中文版) 第四章 使用注解配置SQL映射器
在上一章,我们看到了我们是怎样在映射器Mapper XML配置文件中配置映射语句的。MyBatis也支持使用注解来配置映射语句。当我们使用基于注解的映射器接口时,我们不再需要在XML配置文件中配置了。如果你愿意,你也可以同时使用基于XML和基于注解的映射语句。 本章将涵盖以下话题:l 在映射器Mapper接口上使用注解l 映射语句 @转载 2018-01-22 21:27:45 · 188 阅读 · 0 评论 -
Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门
本文出自本章将涵盖以下话题:ž MyBatis是什么?ž 为什么选择MyBatis?ž MyBatis安装配置ž 域模型样例1.1 MyBatis是什么 MyBatis是一个简化和实现了Java数据持久化层(persistencelayer)的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互。转载 2018-01-22 21:24:46 · 542 阅读 · 0 评论 -
Java Persistence with MyBatis 3(中文版) 第二章 引导MyBatis
MyBatis最关键的组成部分是SqlSessionFactory,我们可以从中获取SqlSession,并执行映射的SQL语句。SqlSessionFactory对象可以通过基于XML的配置信息或者Java API 创建。 我们将探索各种MaBatis配置元素,如dataSource,environments,全局参数设置,typeAlias,typeHandlers,SQL映射;接转载 2018-01-22 21:25:42 · 250 阅读 · 0 评论