摘要:一、另一种级联 MyBatis还提供了另一种级联方式,它是基于sql表连接的基础上,进行再设计的,之前我们在一对一级联时简单介绍过。现在我们看如何使用。 1.定义sql,修改IEmployeeDao.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTY
阅读全文
摘要:一、概述 1.概念 就是在需要用到数据时才去进行加载,不需要用的数据就不加载数据。延迟加载也称为懒加载。 2.优缺点 优点:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。 缺点:因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询
阅读全文
摘要:N+1问题 从上面的例子日志中我们可以看到所有级联都成功了,但是引发了性能问题,例如我们在查询雇员的信息和工作任务信息,此时体检表和工牌信息就是多余,我们没必要查询一次。如果想日志体现的那样,取出了所有的属性,多执行了几条现在用不到的sql这是没有意义的。如果在加入一个关联信息,在默认情况下会执行s
阅读全文
摘要:一、鉴别器和一对多级联 1.完善体检表,分为男雇员体检和女雇员体检表 (1)持久层dao编写 package com.xhbjava.dao; import com.xhbjava.domain.MaleHealthForm; /** * 男性体检表 * @author Mr.wang *@date
阅读全文
摘要:一、MyBatis级联概述 级联是resultMap中的配置,比较复杂。级联是一个数据库实体的概念。比如角色需要存在用户与之对应,这样就有角色用户表,一个角色可能有多个用户,这是一对多级联,除此之外还有一对一级联。在MyBatis中还有一种级联叫鉴别级联,是一种可以选择具体实现类的的级联,例如查找雇
阅读全文
摘要:1.概述 我们在使用JDBC或者类似Hibernate的其他框架时,需要根据需求去拼装sql,这是很烦的一件事情。有时一个查询有许多查询条件,有时需要控制有点条件为空的情况,我们使用其他框架进行大量的Java代码进行判断,可读性差,而Mybatis框架提供了对sql语句动态组装能力,使用xml的几个
阅读全文
摘要:一.Mybatis连接池技术 我们经过了解接触过数据库连接池技术,在Mybatis中也有自己的连接池技术,我们可以在Mybatis的SqlMapConfig.xml配置文件中,通过过<dataSource type=”pooled”>来实现 Mybatis 中连接池的配置。 1.Mybaits连接池
阅读全文
摘要:一、输出结果封装 1.resultType配置结果类型 我们在前面学习中了解到resultType属性可以指定结果集的类型,支持基本类型和实体类型。当然通过mybaits注册过别名的我们可以直接使用名称,没有注册的必须使用全限定类名,此时要求我们实体类中的属性名称和查询语句中的列保持一致,否则无法实
阅读全文
摘要:1.parameterType 配置参数 在前面练习中我们已经学过SQL语句传参,使用parameterType属性来设置参数。参数可以使基本类型也可以是引用类型(如:String),还可以是实体类型,同时也可以是实体类的包装类。我们要了解使用实体类的包装类作为参数传递。 (1) 我们在配置参数时基
阅读全文
摘要:1、根据id查询 我们根据上述步骤可以搭建Mybatias环境,我们在搭建好的基础上来进行代理DAO实现增删改查的操作。 (1)在持久层接口添加findById方法 /** * 根据id查询用户 * @param userId * @return */ User findById(Integer u
阅读全文