栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis映射配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis映射配置

1深入Mybatis映射配置文件

1.1查询语句

接口中

    List queryAllUser();
    
    User queryUserById(Integer id);

xml配置文件中

    
        select * from user
    
    
    
    select * from user where id = #{id}

2.#{}与${}的区别

* 它俩都可以获取接口调用中传递过来的参数
* #{}会将参数作为占位符,使用预编译语句(PreparedStatement)执行
* ${}会直接用实际参数替换${}, 参数可以作为SQL的一部分。

        在某些特殊场合下只能用${},不能用#{}。例如:在使用排序时ORDER BY ${id},如果使用#{id},则会被解析成ORDER BY “id”,这显然是一种错误的写法。

3.结果集如何映射

3.1ResultType方式

ResultType方式适用于数据库结果集可以直接映射成一个Java类的情况

Java实体类:

@Getter
@Setter
@ToString
public class User {
    private Integer id;
    private String username;
    private String nickName;
    private String password;
    private String email;
    private Timestamp lastLoginTime;
}

使用方法:

    
        select * from user
    

解决一对一映射查询问题

实体类

@Getter
@Setter
@ToString
public class King {
    private Integer id;
    private String name;
    private Queen queen;    //一个对象中的属性引用了另一个对象
}

@Getter
@Setter
@ToString
public class Queen {
    private Integer id;
    private Integer kId;
    private String name;
}

映射文件

    
        
        
        
        
    
    
    
        
        
        
    
    
    
    
        SELECT
        k.id kid,
        k.`name` kname,
        g.id girl_id,
        g.`name` girl_name,
        k.id girl_king_id
        FROM
        king k
        LEFT JOIN girl g ON g.k_id = k.id
        WHERe
        k.id = 27
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/981280.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号