- 为什么需要
- 是什么
- 怎么用
- 动态SQL
- 缓存
- 逆向工程
- 注意的问题
- Tip
- 日志
SQL和Java编码分开,功能边界清晰
是什么持久层框架(dao)
怎么用1、导入依赖pom.xml Mybatis核心org.mybatis、junit测试junit、MySQL驱动mysql 2、全局配置文件mybatis-config.xml 引入外部文件 properties resource 开发环境environment default: 具体环境environment id 事务管理器transactionManage type="JDBC" 数据源dataSource type="POOLED" property name value Mybatis映射文件mappers mapper resource 驼峰式名命 settings setting name="mapUndersoreToCamelCase " value="true" 延迟加载 settings lazyLoadingEnabled true aggressiveLazyLoading false 实体类别名 typeAliases package name 3、xxxMapper.xml 名命空间 mapper namespace select id resultType 4.jdbc.properties 5.对一关系xxxMapper.xml:association和JavaType 对多关系:collection ofType 分步: association/collection select动态SQL
where if test update set if test
两端是否包含某些字符trim
suffixOverrides 取消后缀 | 分隔
choose
when
otherwise
foreach collection item separator index
引用已经抽取的SQL片段
include refid
一级缓存:SqlSession级别
二级缓存:SqlSessionFactory级别
Mapper.xml中加入cache
缓存的本质是一个Map
都是由PerpetualCache实现,只是调用者不同
pom build plugins plugin org.mybatis.generator MBG配置文件 执行MBG插件 QBC拼装查询条件 Ceriteria注意的问题
Java实体类中,要使用包装类
XML只是在框架初始化时加载
框架=jar包(特定功能的固定解决方案)+配置文件(个性化定制)
工厂模式:创建对象时,过程基本固定,封装
Mapper相当于之前的Dao,但Mapper不需要提供实现类,而是去加载XML文件
一般是功能开发完成,再加外键约束检查是否有Bug
debug(调试)



