
mybatis
文章平均质量分 60
乐之者v
快乐编程,一生编程。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java使用Mysql批量更新(不存在就插入,存在就更新)
先逐个查询,需要插入的放到一个insertList中进行批量插入,需要更新的放到另一个updateList中进行批量更新。mysql 数据不存在则插入,存在则更新,可以用 INSERT ON DUPLICATE KEY UPDATE实现。详情见: https://www.cnblogs.com/expiator/p/14417061.html。详情见: https://www.cnblogs.com/expiator/p/17220668.html。这样查询时,只需要查出最新日期/版本号的数据就可以了。原创 2025-05-31 12:16:45 · 263 阅读 · 0 评论 -
Mybatis批量插入,批量更新
useGeneratedKeys="true"表示自动产生主键id,而keyProperty="id"表示主键对应的对象属性为id。而且主键对应的这个Person对象的属性"id" (也可以是别的命名,比如personId之类的), 最好设置成String类型的,不然可能会出错。这里不使用 @Param注解,那么在xml文件中的collection就默认为 “list”。在批量插入前,需要先做判空处理。Mapper如下:Service如下:批量插入或者批量更新如果需要先判断,不存在就原创 2025-05-31 12:14:36 · 332 阅读 · 0 评论 -
mybatisPlus update更新部分字段
注意:如果对象(类似上面的TestEntity)中有属性为 int 类型,int类型默认值为0, 那么在 update时会set该属性为0.注意:如果对象(类似上面的TestEntity)中有属性为 int 类型,int类型默认值为0, 那么在 update时会set该属性为0..eq 则表示 WHERE 条件。update()方法,第一个是要更新的 entity, 第二个是查询条件。属性的整型类型,最好使用 Integer类型。属性的整型类型,最好使用 Integer类型。根据主键id修改数据。原创 2023-11-12 22:10:32 · 11342 阅读 · 0 评论 -
SpringBoot集成MybatisPlus
查询一条数据:getOne()。原生的selectOne()如果查到多条数据会报错,可以用getOne()代替,查到多条不报错。@TableId(type = IdType.ID_WORKER_STR) :ID_WORKER_STR 生成19位值字符串。@TableId(type = IdType.ID_WORKER) :ID_WORKER生成19位数字,对应类型Long。@TableField(fill = FieldFill.INSERT_UPDATE):插入和更新填充字段。原创 2023-10-31 22:25:36 · 276 阅读 · 0 评论 -
Mybatis中resultType和resultMap的区别
mybatis中select元素有两个属性resultType和resultMap,工作中总是使用到他们,但是他们有什么区别呢?对于单表查询映射或多表联合查询映射来说,他们都能达到要求,例如public class User { private int id; private String username; private String hashedPassword; ...原创 2018-06-11 22:10:00 · 68 阅读 · 0 评论 -
Mybatis多表查询,报错:Column ‘id‘ in field list is ambiguous
Mybatis多表查询,报错:Column 'id' in field list is ambiguousMybatis错误示例:<resultMap id="JoinResultMap" type="com.WorkDto"> <id column="id" jdbcType="BIGINT" property="id"/> <result column=...原创 2022-05-30 00:08:00 · 1529 阅读 · 0 评论 -
spring集成mybatis配置多个数据源,通过aop自动切换
spring集成mybatis,配置多个数据源并自动切换。spring-mybatis.xml如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/200...原创 2018-06-22 15:57:00 · 48 阅读 · 0 评论 -
Mybatis常用代码
以下使用的数据库是Mysql。原创 2023-09-11 23:21:53 · 184 阅读 · 0 评论 -
Mybatis自动生成xml文件、dao接口、实体类
Mybatis可以通过逆向工程,实现自动生成xml文件、dao接口、实体类以下使用的是Intellij Idea进行自动生成一、首先,要在pom.xml中导入插件,在<build>中加入以下插件,如下示: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org...原创 2018-03-26 17:00:00 · 95 阅读 · 0 评论 -
SpringBoot中Mybatis打印sql
如果使用的是application.properties文件,加入如下配置:logging.level.com.example.demo.dao=debuglogging.level.com,后面的路径指的是mybatis对应的方法接口所在的包。并不是mapper.xml所在的包。如果使用的是application.yml文件,加入如下配置:# 打印sqllogging: l...原创 2018-03-28 17:11:00 · 58 阅读 · 0 评论 -
关于mybatis框架的总结【转载】
原文地址:https://www.cnblogs.com/xiaotie666/p/LiujinMybatisSummary.html此文为转载。请支持原作者。最近在学习MyBatis框架,我在这里记录一下学习MyBatis过程中的心得体会。Mybatis是什么?使用它我们可以做什么?MyBatis是一个开源的数据持久层框架,它内部封装了通过JDBC访问数据库的操作,支持普通的SQL查...原创 2018-06-27 10:45:00 · 52 阅读 · 0 评论 -
Mybatis中的N+1问题与延迟加载
0.什么是N+1问题?在查询中一下子取出所有属性,就会使数据库多执行几条毫无意义的SQL 。实际中不需要把所有信息都加载进来,因为有些信息并不常用,加载它们会多执行几条毫无用处的 SQL,导致数据库资源的损耗和系统性能的下降。假设现在有 N 个关联关系完成了级联,那么只要再加入一个关联关系,就变成了 N+l个级联,所有的级联 SQL 都会被执行,显然会有很多并不是我们关心的数据被取出,这样会造...原创 2018-07-24 15:05:00 · 70 阅读 · 0 评论 -
Mybatis总结
mybatis示例如下:Mapper文件中的UserMapper.xml如下示:<?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" ...原创 2017-09-14 15:59:00 · 43 阅读 · 0 评论 -
Mybatis中#{}和${}的区别
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order...原创 2018-06-11 10:26:00 · 50 阅读 · 0 评论 -
Spring集成Mybatis配置文件的简单理解
详情可见官方文档http://www.mybatis.org/spring/zh/index.html一、需要配置的对象实例1.SqlSessionFactoryBean在 MyBatis-Spring配置中,SqlSessionFactoryBean 是用于创建 SqlSessionFactory 的。要配置这个工厂 bean,放置下面的代码在 Spring 的 XML 配置文件中:...原创 2018-06-27 10:16:00 · 48 阅读 · 0 评论 -
SpringBoot集成mybatis
SpringBoot创建项目首先创建好项目,详情见:https://www.cnblogs.com/expiator/p/15844275.htmlSpringBoot引入mybatis依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <...原创 2023-02-07 23:28:00 · 54 阅读 · 0 评论 -
mybatis 报错:Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘‘ not found
问题描述:Caused by: org.apache.ibatis.binding.BindingException: Parameter '' not found问题原因:(1)可能是 mybatis 的xml,对应的mapper接口缺少@Param注解,或者@Param注解的value与xml的不一致。xml示例:<select id="selectBy" parameter...原创 2022-06-27 22:10:00 · 4387 阅读 · 0 评论 -
mybatis什么时候需要声明jdbcType?
经常会见到以下两种写法:1、 #{bookId}2、 #{bookId,jdbcType=INTEGER}一般情况下,两种写法都可以。它们都可以获取Dao层传递过来的参数。但是,当传入的参数为null时,需要指定jdbcType的类型,否则mybatis无法解析。...原创 2017-11-03 14:57:00 · 45 阅读 · 0 评论 -
Mybatis批量插入,批量更新
批量插入xml如下:<insert id ="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> insert into t_person(name, age, height, weight, update_date) values ...原创 2021-02-19 17:11:00 · 241 阅读 · 0 评论 -
Mybatis多表查询(一对一、一对多、多对多)
Mybatis的多表级联查询 。一对一可以通过<association>实现,一对多和多对多通过<collection>实现。<discriminator> 元素,可以灵活选择属性column使用哪个字段进行鉴别。一. 一对一的级联查询对user_t表和book_t表进行连接查询。sql语句类似如下: select b.book_id,b.n...原创 2018-07-18 11:44:00 · 83 阅读 · 0 评论 -
mybatis-plus-generator自动生成代码
修改包名、作者、路径、jdbc配置后,运行main()方法,输入表名即可,多个表用逗号隔开。原创 2023-10-21 12:37:59 · 226 阅读 · 0 评论