摘要: 1、mybatis缓存使用场景 2、mybatis一级缓存命中场景 当mybatis执行相关右边的操作时,均会执行clearCache()方法,清空对应缓存。 一级缓存的作用域默认是sqlsession,也就是同一个会话。但是也可以设置为statement级别缓存,此时级别变小了。此时只有同一个st 阅读全文
posted @ 2020-08-30 21:27 小南的歌 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 重用执行器执行之前会先查询缓存,是否存在sql ———>statement,可提升性能,因为创建一个statment比较i消耗性能,如果存在sql对应的statement则直接使用该statement和数据库进行交互。 批处理: 批处理器持有: 1、statementList stement列表,用 阅读全文
posted @ 2020-08-29 22:29 小南的歌 阅读(163) 评论(0) 推荐(0) 编辑
摘要: JDBC Statement对象用于将sql语句发送到数据库中。 实际上有三种Statement对象,它们都作为在连接上执行sql语句的包容器,他们都专用于发送特定类型sql语句: Statement对象用于执行不带参数的简单sql语句; PreparedStatement对象用于执行带或不带IN参 阅读全文
posted @ 2020-08-29 21:05 小南的歌 阅读(405) 评论(0) 推荐(0) 编辑
摘要: <深入浅出Mybatis技术原理与实战>(杨开振) 电子书+源码地址 阅读全文
posted @ 2020-08-24 23:00 小南的歌 阅读(1029) 评论(0) 推荐(0) 编辑
摘要: sqlsession详细内容可参见 https://www.cnblogs.com/jian0110/p/9452592.html mybatis执行过程: 一个SqlSession只能一个线程使用,所以不是线程安全的,一个线程使用完必须关闭。一个sqlsession可以执行多个sql语句。 sql 阅读全文
posted @ 2020-08-23 21:59 小南的歌 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 1、简单描述JDBC (1)、JDBC的执行过程 (2)JDBC的三种执行器(也不叫执行器,可以叫做执行计划) a、preparestatement预编译,预编译指的是DB的编译器,会对此sql语句提前编译。然后将预编译的sql语句缓存起来,下次执行时,直接通过设置值的方式,执行语句。(都是数据库做 阅读全文
posted @ 2020-08-23 20:20 小南的歌 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 新的mysql驱动包在加载的时候已经不需要显示加载有Class.forName("com.mysql.jdbc.Driver")。 因为在MET-INF目录下的java.sql.Driver已经指明了要加载的驱动名称。 个人认为(个人菜鸡,欢迎大佬指正)该做法也可能引入新的问题,当存在多个数据库驱动 阅读全文
posted @ 2020-08-23 17:02 小南的歌 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 1、mybatis简单介绍: mybatis是JDBC的上层应用,也就是对JDBC的封装。 持久层: 可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏,在断电或者其他情况下,重新开启系统仍然可以读取到这些数据。 优点: 可以使用巨大的磁盘空间存储相当量的数据,并且很廉价 缺点:慢(相对于内 阅读全文
posted @ 2020-08-23 16:33 小南的歌 阅读(66) 评论(0) 推荐(0) 编辑
摘要: eclipse: 1、【Ct rl+Shift +R】查找文件 【Ct rl+Shift +T 】查找类 ,查找工作空间(Workspace)中的所有文件(包括Java文件),也可以使用通配符。 2、【Ct rl+O】 显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。 I 阅读全文
posted @ 2020-08-23 15:46 小南的歌 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1、mybatis简单来说主要有两大功能: 1、sql语句的拼装 2、结果集映射,也就是把查询结果从数据库的二维表转换成具体的javaBean。 2、结果集映射: 简单来说就额是从数据库查出具体的二维表数据,最终通过配置文件或者自动填充的方式,组装成具体的javabean对象。 联合查询时,rowk 阅读全文
posted @ 2020-08-22 22:03 小南的歌 阅读(60) 评论(0) 推荐(0) 编辑