示例
- sql
确定主查询表:订单表
确定关联查询表:订单明细表
在一对一查询基础上添加订单明细表关联即可。
1 | SELECT |
确定主查询表:订单表
确定关联查询表:订单明细表
在一对一查询基础上添加订单明细表关联即可。
1 | SELECT |
分模块对每张表记录的内容进行熟悉,相当于你学习系统需求(功能)的过程。
非空字段、外键字段
外键关系
在分析表与表之间的业务关系时一定要建立在某个业务意义基础上去分析。
MyBatis Mapper 配置 resultType 与 resultMap
输出映射有两种方式
resultType
resultMap
resultType
进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。使用两种方式(resultType和resultMap)实现一对一查询,查询订单信息,关联查询创建订单的用户信息
确定查询的主表:订单表
确定查询的关联表:用户表
关联查询使用内连接?还是外连接?
由于orders表中有一个外键(user_id),通过外键关联查询用户表只能查询出一条记录,可以使用内连接。
1 | SELECT |
MyBatis Mapper 动态 SQL 配置 if, sql 与 foreach
mybatis核心,对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。
1 | <!-- 用户信息综合查询 |
MyBatis Mapper 配置 parameterType
通过parameterType指定输入参数的类型,类型可以是
1 | package com.iot.mybatis.po; |
1 | <!-- 添加用户 |
SqlMapConfig.xml中配置的内容和顺序如下
mybatis是一个持久层的框架,是apache下的顶级项目。
mybatis托管到goolecode下,再后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。
mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。
通过SqlSessionFactoryBuilder
创建会话工厂SqlSessionFactory
将SqlSessionFactoryBuilder
当成一个工具类使用即可,不需要使用单例管理SqlSessionFactoryBuilder
。在需要创建SqlSessionFactory
时候,只需要new一次SqlSessionFactoryBuilder
即可。