大家好,我是IT修真院武汉分院第11期学员,一枚正直善良的java程序员。今天给大家分享一下,任务拓展:maven的module是什么?
1.背景介绍
什么是mybatis
MyBatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。
SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),
但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。
2.知识剖析
mybatis的特点
简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,
易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。
通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
提供映射标签,支持对象与数据库的orm字段关系映射
提供对象关系映射标签,支持对象关系组建维护
提供xml标签,支持编写动态sql。
3.常见问题
连表查询用什么类型接收?
4.解决方案
有两种方式:1.通过自定义resultMap接收;
2.通过resultType=java.util.HashMap接收
5.编码实战
自定义resulumap配置
拦截器类继承HandlerInterceptorAdapter抽象类
返回resultmap类型
返回hashmap类型
6.扩展思考
自定义resultMap和hashmap的优劣
前者可以在接口中调用返回对象的属性值,后者不行;
后者更加方便,更少配置
参考一:http://blog.csdn.net/catoop/article/details/50501696
8.更多讨论
一。连表查询没有结果
mysql里没有full join
二。hashmap返回值为空会怎样
hashmap什么都不显示
三。resultmap返回值为空会怎样
resultmap返回值为空则会显示null
详见下方视频
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧