摘要: 在Mysql中,删除的时候加上别名导致报错,通过查阅资料发现是我们平时写的时候没有注意语法 // 平常写的语句 delete from TABLE where column1 = ''; // 错误的语句(单表) delete from TABLE t where t.column1 = ''; / 阅读全文
posted @ 2021-02-26 15:09 gnice512 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 本文转自 https://blog.csdn.net/io_field/article/details/54971761 Stream系列: Java 8系列之Stream的基本语法详解Java 8系列之Stream的强大工具CollectorJava 8系列之重构和定制收集器Java 8系列之St 阅读全文
posted @ 2021-01-11 11:51 gnice512 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 1,基于你对于Springboot的理解,描述一下什么是Springboot? springboot框架是为了能够帮助spring开发者快速高效的构建一个基于spring框架及spring生态体系的应用的解决方案,它是对“约定优于配置”这个理念下的一个最佳实现方案,因此它是一个服务于框架的框架,服务 阅读全文
posted @ 2020-05-23 12:12 gnice512 阅读(3346) 评论(0) 推荐(0) 编辑
摘要: 1,使用配置1.1 引入mybatis整合spring的jar包 org.mybatis mybatis-spring ${mybatis-spring.version} org.mybatis my... 阅读全文
posted @ 2020-05-15 17:17 gnice512 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1,核心对象Configuration: mybatis的核心配置类,里面维护了mybatis的各种属性。Sqlsession: 一个会话,里面定义了各种操作数据库的方法,和应用层交互。Executor: Mybatis执行器,负责生成Sql和查询缓存。StatementHanler: 负责对JDBC Statement的操作,例如设置参数。ParameterHandler: 负责将用户参数转换为... 阅读全文
posted @ 2020-05-15 14:34 gnice512 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 一段独立运行的mybatis代码,将文件读取成流这一步暂时略过。一,创建一个工厂类 完成config配置文件,mapper文件,mapper接口上的注解的解析,得到了一个Configuration对象。最后返回了一个DefaultSqlSessionFactory,里面持有了Configuration的实例。 typeAliasRegistry.registerAlias(a... 阅读全文
posted @ 2020-05-12 21:21 gnice512 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 为了提升查询效率和减少数据库的查询压力,mybatis提供了一级和二级缓存。 mybatis的缓存是在Cache接口中,它只有一个默认的实现类PerpetualCache,用HashMap实现,剩下的都是装饰类一级缓存 一级缓存是在sqlSession层面的,所以在参数和sql完全一样的情况下查询才会走一级缓存。默认开启,不需要任何的配置。 存放位置:sqlSession... 阅读全文
posted @ 2020-05-11 16:01 gnice512 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1,核心对象的生命周期SqlSessionFactoryBuilder(方法局部[ Method ]):只是用来构建SqlSessionFactory的,构建完了它就没用了,所以它的生命周期在方法的局部SqlSessionFactory(应用级别[ Application ]):用来创建SqlSession的,每次应用程序访问数据库都需要创建一个会话,所以它应该存在于引用的这个生命周期中,创建Sq... 阅读全文
posted @ 2020-05-11 11:31 gnice512 阅读(145) 评论(0) 推荐(0) 编辑
摘要: JVM的内存划分如下图,在JDK1.8版本废除了永久代,替代的是元空间,元空间与永久代类似,都是对方法区的实现,他们最大的区别是:Metaspace使用的是本地内存而不是JVM内存。也就是默认情况下Metaspace的大小只与本地内存大小有关。 这两个参数来指定元空间的大小:-XX:MetaspaceSize,初始空间大小,-XX:MaxMetaspaceSize,最大空间,默认是没... 阅读全文
posted @ 2020-05-07 11:20 gnice512 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 前言 在java中,如果每个请求到达就创建一个新线程,那么创建和销毁线程所花费的时间是非常巨大的,如果创建过多的线程,会使内存使用过多或者线程切换过于频繁导致系统资源不足。如果使用线程池,事先创建好一定的线程,用一个容器维护,每次任务进来就从池里面获取一个线程,任务执行完就把线程还给线程池。 (1) 阅读全文
posted @ 2020-05-06 17:14 gnice512 阅读(138) 评论(0) 推荐(0) 编辑