resultmap与resulttype的区别为:对象不同、描述不同、类型适用不同
一、对象不同
1、resultmap:resultMap如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。
2、resultType:resultType使用resultType进行输出映射,只有查询出来的列
看源码都要带着问题去看,比如
UserMapper.java只有接口而没有实现类,那么是如何执行的呢?mybatis中一级缓存是如何进行缓存与维护的?底层是如何执行query查询的查询后的结果是如何处理的,为什么可以将结果集自动映射到对象中去?
让我们带着上面的问题来到mybatis框架底层一探究
MyBatis 提供了XML配置和注解配置两种方式。今天就来搞搞这两种方式是如何实现的。
MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBa
ResultMap2020-11-27 22:03:50
ResultMap
要解决的问题,属性名和数据库表格字段名不一致问题
在项目中,新建一个模块mybatis-02,内容和mybatis-01一样。
1、查看数据库user表的字段名
2、修改Java中的实体类,使其属性名与数据库的字段名不一致
public class User {
private int id;
private String userna
Mybatis 的输出结果封装
1.resultType 配置结果类型
1.1基本类型示例
List findAll();
User findById(Integer userId);
List findByName(String username);
int findTotal();
List findUserByVo(QueryVo vo);
Mybatis之resultMap2020-11-24 15:00:47
resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的数千行代码。Re
说明
项目如果需要动态的生成SQL语句,那么语句中的字段名是一个比较麻烦的事情,虽然Entity对象和数据表一般是一比一按照驼峰命名法和下划线命名法标准转换来映射的,但是简单的将Entity对象中的属性转为字段名是一个有风险的操作
有没有哪里记录了实体类属性和数据表字段的映射关系呢
1.生命周期,和作用域,是至关重要的,因为错误的使用会导致严重的并发问题
并发问题流程图
注意:每一个sqlSession对应一个业务
在用sqlSession去写增删改相关的业务时用提交事务(sqlSession.commit();)
在每个持久层操作完毕后要将sqlSession关闭(sqlSession.close())
本文讲述获取当前项目的所有restful请求的详细信息,含url、接口描述、请求方式等信息,主要用到了swagger的相关特性,最终返回的数据格式如下:
[{
"className": "cn.miao.controller.InfoController",
"classDesc": "InfoController",
"methodName": "getTimeStam
封装MyBatis输出结果2020-08-07 22:01:51
目录一、resultType1. 简单类型(掌握)2. 对象类型(掌握)3. Map(了解)二、resultMap(了解)三、实体类属性名和列名不同1. 使用resultMap2. 使用列别名和resultType四、模糊查询like1. 第一种2. 第二种五、总结1. resultType2. resultMap3. 列名和属性名不同4. like
一、resultType
6、ResultMap
要解决的问题:属性名和字段名不一致
1、查看之前的数据库的字段名
2、Java中的实体类设计
public class User {
private int id; //id
private String name; //姓名
private String password; //密码和数据库不一样!
//构造
//set/get
//
Mybatis创建statement和结果集生成statementHandler结果集处理后记
前文:Mybatis(3)执行sql过程
statementHandler
在Mybatis的Configuration类中, 存在下面三个方法, 我们想要生成一个statment就需要通过一个statemeng的处理器
public ParameterHandler newParameterHand
Mybatis 自定义映射关系2020-06-19 21:53:31
原由
最近做项目,由于数据库的字段名和pojo对象中的名称不一样,导致 Mybatis查出来的数据没有办法直接绑定到POJO对象上,所以我就去回顾了以下mybatis的集合绑定。
代码
(4)输出参数为HashMap
<
mybatis的pageHelper分页遇上collection时,total统计会是根据sql查询出来的数量进行统计的,而我们页面上的总数应该显示我们resultMap的数量。resultMap不要使用直接嵌套结果的方式,可是使用嵌套查询:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200309102905637.png
一的一方College.java:
多的一方Student.java
College的sqlmapper文件配置