这里是修真院前端小课堂,每篇分享文从
八个方面深度解析前端知识/技能,本篇分享的是:
【mybatis连表查询 】
大家好,我是IT修真院武汉分院的15期学员,一枚正直纯洁善良的JAVA程序员。 本次为大家带来关于深度思考的一个问题,我们为什么要使用mybatis连表查询?
(1)背景介绍
什么是mybatis mybatis是一个优秀的持久层框架,他对jdbc操作数据库的过程进行了封装,使开发着只用关注sql本身,不用去关注例如注册驱动,加载链接,得到statement,处理结果集等复杂的过程。 mybatis通过xml或者注解的方式,将要执行的各种sql语句配置起来,并通过Java对象和statement中的sql语句映射生成最终的sql语句,最后由mybatis框架执行sql语句,并将结果映射成Java对象返回。 什么是高级映射 对于数据库中对表的增删改查操作,我们知道增删改都涉及的是单表,而只有查询操作既可以设计到单表操作又可以涉及到多表操作, 所以对于输入映射parameterType而言是没有所谓的高级映射的,也就是说高级映射只针对于输出映射(因为高级映射设计到多张表)。
(2).知识剖析
mybatis工作原理 mybatis通过配置文件创建sqlsessionFactory,sqlsessionFactory根据配置文件,配置文件来源于两个方面:一个是xml,一个是Java中的注解,获取sqlSession。 SQLSession包含了执行sql语句的所有方法,可以通过SQLSession直接运行映射的sql语句,完成对数据的增删改查和事物的提交工作,用完之后关闭SQLSession。 mybatis解决的问题 1.使用数据库连接池管理链接,避免了频繁创建了、关闭链接,浪费资源,影响性能的问题。 2.用xml管理sql语句,让Java代码和sql语句分离,使得代码更易维护。 3.解决了sql语句参数不定的问题。xml中可以通过where条件决定sql语句的条件参数。mybatis将Java对象映射到sql语句,通过statement的parameterType定义输入参数的类型。 4.mybatis自动将结果集封装成Java对象, 通