- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 Spring事务真相
同一个线程,会共用同一个数据库连接,同一个数据库连接范围内,无论增删改查何种sql,都算在事务范围内。问题的答案是都在事务范围内。spring事务答疑解惑。
2023-06-19 20:55:32
105
原创 mybatis delete标签里写update语句可以吗?
答案开门见山,先公布答案——可以。原因要想破解这个问题,最根本的方法还是查看源码。我们知道,mapper.xml文件的增删改查四种sql标签,映射到源码是MapperMethod,我们就从这个文件入手。1、执行mapper接口的方法,调用的是MapperMethod对象的execute方法,public Object execute(SqlSession sqlSession, Object[] args) { Object result; switch (command.get
2021-09-28 15:03:41
3597
1
原创 mysql同时insert多表,且表之间存在id关联,如何保证id关联的正确性?
需求同时执行三条sql insert语句,分别插入三张不同的表中,表2的某个字段关联表1的id,表3的某个字段关联表2的id,三张表的id字段均为int 自动递增类型。笨方法手动多次执行sql,具体步骤:1、第一条语句插入完成后,查询出来max(id),给了第二个语句的msgId;2、第二条语句插入完成后,查询出来max(id),给了第三个语句的templateId。秒方法采用mysql提供的系统定义的全局变量@@IDENTITY。将第二条语句关联第一张表的id字段值替换为此变量;将第三条
2021-06-11 10:25:30
2241
1
转载 mysql--二级索引
mysql——二级索引(辅助索引)二级索引:叶子节点中存储主键值,每次查找数据时,根据索引找到叶子节点中的主键值,根据主键值再到聚簇索引中得到完整的一行记录。问题:1.相比于叶子节点中存储行指针,二级索引存储主键值会占用更多的空间,那为什么要这样设计呢?InnoDB在移动行时,无需维护二级索引,因为叶子节点中存储的是主键值,而不是指针。2.那么InnoDB有了聚簇索引,为什么还要有二级索引呢?聚簇索引的叶子节点存储了一行完整的数据,而二级索引只存储了主键值,相比于聚簇索引,占用的空间要少。当我们
2021-05-26 13:41:25
744
原创 Spring boot框架下的Builder
Spring框架的建造者模式实例:SpringApplicationBuilderBeanDefinitionBuilder
2020-11-23 11:07:52
1362
原创 Spring boot框架下的Strategy interface
Strategy interfaceResourceLoaderPropertySourceLoaderConfigDataLoaderContextLoaderSmartContextLoaderDocumentLoader
2020-11-21 23:14:08
154
原创 Spring boot的三种PostProcessor
BeanPostProcessorBeanFactoryPostProcessorEnvironmentPostProcessor三种后处理器,也是Spring和Spring boot提供的三种扩展点。
2020-11-21 22:58:34
459
原创 Spring <import>标签的作用
随着项目规模的扩大,Spring的配置文件也会不断增大,为了便于管理和维护配置文件,实际应用中通常采用import标签来规划配置文件,即先将配置文件拆分(一般是按模块进行拆分),最后在主配置文件(通常是applicationContext.xml)中使用impor标签进行整合。如下: <!--默认为相对路径,一般不采用--> <import resource="conf/spring-config1.xml"/> <!--使用classpath:前缀,为绝对...
2020-11-20 09:21:24
1472
转载 JDBC深入理解
再次认识JDBCJDBC概念JDBC设计的目的JDBC组成使用DriverManager获取指定Driver使用DriverManager注册和取消注册驱动Driver使用DriverManager创建 Connection 连接对象收获点JDBC概念Java DataBase Connectivity(Java数据库连接技术)它是将Java与SQL结合且独立于特定的数据库系统的应用程序编程接口(API-它是一种可用于执行SQL语句的Java API,即由一组用Java语言编写的类与接口所组成)JD
2020-11-19 15:30:48
236
1
原创 对io stream使用缓存数组大小的探索与思考
实验用src测试类public class TestIOBuffer { public static void main(String[] args) { File srcFile = new File("E:\\np-eclipse-workspaces\\learn_poi\\test\\file\\telephones.txt"); File targetFile = new File("E:\\np-eclipse-workspaces\\learn_poi\\test\\f
2020-10-28 17:47:26
262
1
原创 用SAX实现修改xml文件内容
背景在久其工作,NP资产管理系统,jmx文件对应Hibernate的实体类,jmx文件实际上就是一个xml文件。每次新建一个实体类(对NP资产系统而言,就是新建一个jmx文件),都需要一一替换文件中的以下两个元素的uuid:<id>4371b121-aa9d-4942-8d01-4119b1dbad58</id><model:id>6b89a8d9-51d2-4499-a7a1-bf56ff7f9a66</model:id>一直采用的方法是用网页uu
2020-06-09 09:58:18
1174
原创 由“ORA-00972:标识符过长”引发的关于oracle字符集的探索
由“ORA-00972:标识符过长”引发的关于oracle字符集的探索在华北电力大学房产项目上遇到一个问题。现象同样的sql语句,同样的数据库数据,查询结果不一样。在plsql客户端中执行语句:SELECT lengthb('其他(不含构筑物)占比') FROM dual;本地数据库查询结果:同样的sql语句,在生产环境上的查询结果:思考两个数据库版本一样,数据一样,查询环境一样,思来想去,就只有字符集不一样了。于是,开始了解oracle字符集相关知识。oracle字符集影响o
2020-05-27 18:06:15
1375
原创 Two typical usage of CountDownLatch
Two typical usage of CountDownLatchFirst sample usageHere is a pair of classes in which a group of worker threads use two countdown latches:The first is a start signal that prevents any worker from proceeding until the driver is ready for them to proce
2020-05-22 14:32:36
157
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人