MyBatis
y41992910
紧跟时代潮流,努力进步,走在前列
展开
-
MyBatis的缓存
MyBatis一级缓存是sqlsession级别的缓存MyBatis 的一级缓存存在于 SqlSession 的生命周期中,在同一个 SqlSession 中查询时, MyBatis 会把执行的方法和参数通过算法生成缓存的键值,将键值和查询结果存入一个 Map对象中。如果同一个 SqlSession 中执行的方法和参数完全一致,那么通过算法会生成相同的键值,当 Map 缓存对象中己经存在该键值时,则会返回缓存中的对象。强制刷新缓存的方式<select id=” selectByid” f原创 2020-05-16 14:27:29 · 196 阅读 · 0 评论 -
mybatis+druid批量更新数据
1.先设置允许执行批量语句database.url=jdbc\:mysql\://127.0.0.1\:4306/xxx?allowMultiQueries=true2.druid配置允许批量语句核心配置 <!-- 配置监控统计拦截的filters --> <property name="filters" value="wallFilter,stat" />...原创 2019-04-28 11:00:03 · 2286 阅读 · 0 评论 -
spring+mybatis多数据源-测试可行
spring+mybatis多数据源-测试可行个人笔记:1.核心就是启动的时候,配置多个数据源.2.在配置文件中,根据数据源的key,来注入到管理 <bean id="dataSource" class="com.itrus.portal.DataSources.ThreadLocalRountingDataSource"> <property name=......原创 2019-05-15 14:43:30 · 69 阅读 · 0 评论 -
springboot整合Mybatis提示org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
springboot整合Mybatis提示org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):解决方案1.首先在pom.xml中,将xxxmapper.xml添加到类路径下 <build> <plugins> <plugin>...原创 2019-07-30 17:12:22 · 7537 阅读 · 0 评论 -
mybatis批量插入数据
插入的是数组 <insert id="insertBath" parameterType="list"> insert into ca_members (modify_time, create_time, cn_value, key_sn, bill_id, end_time ) values <foreach colle...原创 2019-04-26 15:55:38 · 212 阅读 · 0 评论 -
spring和mybatis在自动事物管理下遇错等不会自动回退,需要手动指定回退的条件或者手动事物管理回退等
spring和mybatis在自动事物管理下遇错等不会自动回退,需要手动指定回退的条件或者手动事物管理回退等经过验证情况1:自动事物管理的情况下,遇到异常try -catch进行处理即可,已经执行的sql修改命令不会回退.经过验证的情况2自动事物管理的情况下,抛出异常,已经执行的sql修改命令不会回退.经过验证3.使用注解式事物管理的情况@Transactional(rollbackFo...原创 2019-03-26 14:31:38 · 524 阅读 · 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-config_1_0.dtd">转载 2017-02-27 21:27:27 · 209 阅读 · 0 评论 -
mybaits中dao层的使用方式1:用自动生成工具生成
主要的笔记: 利用工具自动生成的dao接口(也就是xxxMapper.java文件).利用代理的方式,自动的去调用mapper.xml中对应的实现. (要注意mapper开发的四个要点,不然会代理不了)也可以考虑自己写一个通用的接口.然后各个具体pojo的接口,只要符合mapper开发的四个规范即可.毕竟自动工具生成的,有很多可能自己用不上. StudentMapper studentMappe原创 2017-05-26 11:21:14 · 1239 阅读 · 0 评论 -
mybatis写查询条件,or查询,清空查询条件等
最近在项目上遇到了点关于mybatis的查询问题. 常见的mybatis查询方式是: ServiceExample.Criteria srCriteria = serviceExample.createCriteria(); ServiceExample serviceExample = new ServiceExample(); Servic...原创 2018-09-12 16:47:37 · 6783 阅读 · 0 评论 -
mybatis中$和#的区别
在mybatsi中,${}会直接取值为string,直接写在SQL中。#{}会表现为在SQL中一个占位符,然后取参数对应的值进行填充SQL${}在动态解析的时候,会将我们传入的参数当做String字符串填充到我们的语句中,就会变成下面的语句1.使用${}取值。会直接拼接到SQL中,而不会作为占位符 <!-- foreach实现动态update 这一节主要介绍当参数类型是...原创 2018-09-21 14:04:34 · 2735 阅读 · 0 评论 -
MyBatis_sqlsession.flushStatements(作用总结
MyBatis_sqlsession.flushStatements(作用总结; 当有处于事物中的时候 sqlSession.flushStatements();起到一种预插入的作用(执行了这行代码之后,要插入的数据会锁定数据库的一行记录,并把数据库默认返回的主键赋值给插入的对象,这样就可以把该对象的主键赋值给其他需要的对象中去了)下面是代码跟踪过程1.刚接收参数:可以看到这个时候id是为nul原创 2016-12-14 16:53:49 · 31120 阅读 · 1 评论