
数据库
数据库
scorpio0zry
github地址:https://github.com/scorpio0zry
展开
-
Java利用反射机制实现动态生成Sql
场景编写数据迁移的小工具,需要将大量整理好的对象数据插入不同的表中,按照原有的方式,工作量很大,因此考虑利用反射机制动态 + mybaits 实现动态生成Sql并批量入库代码利用 mybatis 注解 @InsertProvider 指定方法生成SQL语句package com.company.cutover.provider.mapper.jydp;import org.apache.ibatis.annotations.InsertProvider;import org.apac原创 2020-07-19 22:46:07 · 1438 阅读 · 0 评论 -
mybaits事务不回滚原因分析
项目中需要使用事务,配置完事务注解后,发现事务并没有预期的回滚,花费了不少时间才将问题解决。(T_T)在配置文件中配置事务在需要使用到的代码中,添加事务注解结果发现并没有如预期一样进行回滚之后去查了各种资料,总结了事务注解需要的注意事项@Transactional 注解可以作用于接口、接口方法、类以及类方法上,但是 Spring 建议不要在接口或者接口方法...原创 2019-08-30 10:37:08 · 825 阅读 · 0 评论 -
mysql字符串截取
工作中,需要使用到表中字段的部分内容与其他表联表查询,使用到了mysql中的字符截取函数,在此记录MySQL 字符串截取函数主要有:left(), right(), substring(), substring_index()1、left(str,length)说明:left(被截取字段,截取长度)mysql> select left('example',3);+...原创 2019-03-21 17:31:21 · 2065 阅读 · 0 评论 -
MySQL server has gone away 问题的解决方法
前段时间,应领导要求,把现网数据导入开发数据库中,报出MySQL server has gone away问题,经过排查发现是执行SQL时,SQL文件过大导致的 MySQL会根据配置文件会限制server接受的数据包的大小。如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。 查看当前配置:mysql> ...原创 2018-11-09 14:51:42 · 586 阅读 · 0 评论 -
mysql 中 insert 的ON DUPLICATE KEY UPDATE
平时我们在设计数据库表的时候总会设计 unique 或者 给表加上 primary key 的限制条件。此时插入数据的时候,经常会有这样的情况:我们想向数据库插入一条记录: 若数据表中存在以相同主键的记录,我们就更新该条记录,否则就插入一条新的记录。逻辑上我们需要怎么写:$result = mysql_query('select * from xxx where id = 1');$ro...原创 2018-06-20 20:15:19 · 409 阅读 · 0 评论 -
MySql的优化方案整理
Mysql中的索引官方定义是帮助Mysql高效的获取数据的数据结构。树结构类型,类似于图书的数目索引,可以提高数据检索的效率,降低数据库的IO成本索引的分类:聚集索引与非聚集索引、唯一索引与非唯一索引聚集索引的意思可以理解为顺序排列,比如一个主键自增的表即为聚集索引。一个表只能包含一个聚集索引。唯一索引:如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique建立索引:CREATE ...原创 2018-04-26 08:59:17 · 393 阅读 · 0 评论 -
mybatis in 查询 传入String
在使用 mybaits 进行 in 查询时,传入String,如1,2,3,发现查询的结果并非我们想要的这是因为#{}编译完自动加双引号“” 也就是变成in (“1,2,3”)如果想要获得我们想要的结果,可以使用${},编译完是这样的in(1,2,3)例如,查询铃音库中多首铃音的总数量<select id="getProgsResourceCount" resultT...原创 2019-04-12 15:06:49 · 7209 阅读 · 2 评论 -
mybatis 中的![CDATA[ ]]用法(优快云标题无法打尖括号)
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。<![CDATA[ ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"<"字符 <=和"&"字符...转载 2019-03-21 14:29:52 · 3293 阅读 · 0 评论 -
mybaits如何在控制台打印sql语句
在spring-mybatis.xml配置添加<property name="configLocation" value="classpath:mybatis-config.xml"></property>如下 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFac...原创 2019-02-28 08:38:28 · 794 阅读 · 0 评论 -
mybaits中忽略主键冲突,避免重复插入数据的三种方式
我们在进行插入数据时,如果出现主键存在的情况,单纯的insert语句显然已经无法满足要求,以下时三种避免重复插入数据的方式方式一:ignore插入时检索主键列表,如存在相同主键记录,不更改原记录,只插入新的记录。INSERT IGNORE INTO test (id,name,created_time) VALUES (2,'test',now());ignore关键字所修饰的S...原创 2019-02-16 14:28:44 · 11397 阅读 · 0 评论