
mybatis
文章平均质量分 90
一瓶橄榄菜
这个作者很懒,什么都没留下…
展开
-
mysql数据库事务隔离级别(脏读、幻读、不可重复读)
一、脏读、幻读和不可重复读1、脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。例如:张三的工资为5000,事务A中把他的工资改为8000,但事务A尚未提交。与此同时,事务B正在读取张三的工资,读取到张三的工资为8000。随后,事务A发生异常,而回滚了事务。张三的工资又回滚为5000。...原创 2019-12-09 18:49:11 · 1506 阅读 · 2 评论 -
MySQL Explain优化
1.1. EXPLAIN在MySQL中可以使用EXPLAIN查看SQL执行计划。示例:EXPLAIN SELECT * FROM tb_item1.2. 结果说明1.2.1. idSELECT识别符。这是SELECT查询序列号。这个不重要。1.2.2. select_type表示SELECT语句的类型。有以下几种值:1、 SIMPLE表示简单查询,其中不包含连接查询和子查询。...转载 2019-12-09 17:26:02 · 205 阅读 · 0 评论 -
ON DUPLICATE KEY UPDATE 使用
语句如下INSERT INTO doctor(name,hospital_id) VALUES (#{doctor.name},#{doctor.hospitalId})ON DUPLICATE KEY UPDATE hospital_id=#{doctor.hospitalId},name=#{doctor.name};先执行INSERT INTO doctor(name,hospit...原创 2019-02-25 12:39:14 · 347 阅读 · 0 评论 -
insert返回主键
在Mybatis中插入一条记录并返回该记录的主键(假设插入的是doctor)实体@Datapublic class Doctor { private int id; //医生名 private String name; //医院id private Integer hospitalId;}serviceint save(Doctor docto...原创 2019-02-25 12:19:59 · 352 阅读 · 0 评论 -
Spring Boot事物手动回滚
在Dao层的方法上添加@Transactional当要回滚时在代码中添加TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();原创 2019-02-22 21:33:19 · 1932 阅读 · 0 评论 -
mybatis转义问题
1、使用转义字符串sql符号转义字符<&lt;>&gt;&&amp;’&apos;"&quot;2、使用<![CDATA[ sql语句 ]]>(sql语句不会被改变,直接编译)...原创 2018-12-30 10:19:53 · 648 阅读 · 0 评论 -
mybatis动态sql中where、set、if 、for循环使用
if&amp;amp;lt;select id=&amp;quot;listBySearch&amp;quot; resultType=&amp;quot;java.lang.Integer&amp;quot;&amp;amp;gt; SELECT id FROM hospital WHERE 1=1 &amp;amp;lt;if test=&am原创 2018-12-29 15:11:24 · 2660 阅读 · 0 评论 -
使用idea搭建springboot+Mybatis的web项目
1.点击file选择new中的project进入下面页面,选中下图所示选项2.点击nex进入下面页面,Group是你项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构,Artifact是项目的唯一的标识符。3.点击nex进入下面页面,在web及sql中选中所需jar包。4.点击nex进入下面页面,name默认是2中Artifact填的name,但是可...原创 2018-12-18 12:27:45 · 462 阅读 · 0 评论 -
mybatis字段里面含有表情时存入数据库报错
配置文件:spring.datasource.type=org.apache.commons.dbcp2.BasicDataSourcespring.datasource.dbcp2.connection-init-sqls=SET NAMES utf8mb4pom<dependency> <groupId>org.apache.commo...原创 2018-10-24 14:43:59 · 1035 阅读 · 0 评论 -
Mybatis中#{}和${}输入参数的区别
#{}mybatis 会进行预编译,比如(假设ID=6):select * from user where id=#{ID}会先编译成select * from user where id=?然后用ID的值(6)替代?#{}的优势更安全如果传入的值值中有#(#在sql中表示注释)使用#{},不会使#后面的sql失效,当传入的name参数中有#,比如hh#:select * f...原创 2018-09-21 17:30:44 · 482 阅读 · 0 评论 -
mybaits的setting参数
参数名 意义 value 默认值 cacheEnabled 该配置影响的所有映射器中配置的缓存的全局开关 true 、false true lazyLoadingEnabled 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态 true 、false fals...转载 2018-09-17 18:19:50 · 207 阅读 · 0 评论