MyBatis——(五)缓存

2018-11-30 20:03:00

正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存:基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cache 就将清空 二级缓存:与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache

MyBatis——(六)逆向工程

2018-11-30 19:57:00

MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.xml、mapper.java、pojo...)。一般在开发中,通过数据库中的单表,自动生成java代码,这样能够大大减少我们平时开发的工作量

MyBatis——(四)分页 c3p0连接池

2018-11-29 16:34:22

PageHelper是一款犀利的Mybatis分页插件,使用了这个插件之后,分页开发起来更加简单容易。C3P0连接池会根据你的配置来初始化N个数据库连接,空闲时间后连接过期又会自动新建K个连接使得连接池总有空闲的数据库连接等待被取用。我们只需通过dataSourse.getConnection() 即可从线程池中取用一个已经连接好的空闲连接,执行数据库操作。然后“断开”(放回)这个连接,把这个连接的使用权放回连接池。

MyBatis——(三)动态SQL

2018-11-28 20:43:00

前几篇博客介绍的sql语句都是较简单的单条件查询语句。要是遇到复杂的多条件,往往需要拼接,而拼接 SQL ,稍微不注意,由于引号,空格等缺失可能都会导致错误。 那么怎么去解决这个问题呢?这就是本篇所讲的使用 mybatis 动态SQL,通过 if, where, set, trim, when, choose, otherwise, foreach,bind等标签,可组合成非常灵活的SQL语句,从而在提高 SQL 语句的准确性的同时,也大大提高了开发人员的效率。

MyBatis——(二)一对多 多对一 多对多

2018-11-27 20:53:00

一、摘要表和表之间的关系,常见的有一对多,多对一,多对多。比如教室表(classroom)和学生表(student)是有关系的,那么如何分析他们之间的关系呢? 一个学生(student)只能对应一间教室(classroom)一间教室(classroom)可以对应多个学生(student)所以教室(classroom)对学生(student)就是一对多,学生(student)对教室(classroom)就是多对一引入一个老师表(teacher),那老师表(teacher)和学生表(student)的关系是怎样的呢? 一个老师(teacher)可以对应多个学生(student) 一个学生(student)可以对应多个老师(teacher) 所以学生(student)对老师(teacher)就是多对多 二、一对多