maven/mybatis01、02、03,重点02_CRUD
- Mybatis 与 JDBC 编程的比较
- 动态sql语句
- 多表查询
- 延迟加载
- mybatis注解开发
- SqlMapConfig.xml配置文件
- properties(属性)
- typeAliases(类型别名)
- mappers(映射器)
- 开启全局延迟加载
- 自定义 Mybatis 的设计模式
- 工厂模式
- 代理模式
- 构建者模式
Mybatis 与 JDBC 编程的比较
- 数据库链接创建、释放频繁造成系统资源浪费从⽽影响系统性能,如果使⽤数据库链接池可解决此问题,并且mybatis不需要自己创建连接池
解决:
在 SqlMapConfig.xml 中配置数据链接池,使⽤连接池管理数据库链接。 - Sql 语句写在代码中造成代码不易维护,实际应⽤ sql 变化的可能较⼤,sql 变动需要改变java 代码。
解决:
将 Sql 语句配置在 XXXXmapper.xml ⽂件中与 java 代码分离。 - 向 sql 语句传参数麻烦,因为 sql 语句的 where 条件不⼀定,可能多也可能少,占位符需要和参数对应。
解决:
Mybatis ⾃动将 java 对象映射至 sql 语句,通过 statement 中的 parameterType 定义输⼊参数的类型。 - 对结果集解析麻烦,sql 变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成 pojo 对象解析⽐较⽅便。
解决:
Mybatis ⾃动将 sql 执⾏结果映射⾄ java 对象,通过 statement 中的 resultType 定义输出结果的类型。
动态sql语句
多表查询
延迟加载
mybatis注解开发
SqlMapConfig.xml配置文件
properties(属性)
在使⽤ properties 标签配置时,我们可以采⽤两种⽅式指定属性配置。
第一种
第二种
typeAliases(类型别名)
自定义别名,然后resultType和parameterType中就可以直接写别名,例如user/USer
mappers(映射器)
使⽤相对于类路径的资源,xml文件
使⽤ mapper 接⼝类路径
注册指定包下的所有 mapper 接⼝
开启全局延迟加载
在properties之后
<settings><setting name="lazyLoadingEnabled" value="true"/>
</settings>
开启局部延迟加载
自定义 Mybatis 的设计模式
工厂模式
代理模式
构建者模式