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

MyBatis基础映射

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

MyBatis基础映射

MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。

SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出):

cache – 该命名空间的缓存配置。cache-ref – 引用其它命名空间的缓存配置。resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素。sql – 可被其它语句引用的可重用语句块。insert – 映射插入语句。update – 映射更新语句。delete – 映射删除语句。select – 映射查询语句。

查看dtd文件也能了解到包含这些标签:


下面的例子我们对象都使用了别名,在全局配置文件配置就可以了





    
        
        
    

    
         
        
    


输入参数 传递简单类型
//查询用户
User findById(Integer id);


      select * from user where username = #{username} and status = #{status}

集合和数组

一般我们使用标签去遍历

int batchSave(@Param("userList") List userList);

    INSERT INTO t_user(username,email,addr) VALUES
    
        (#{item.username}, #{item.email}, #{item.addr})
    

如果我们想取集合的第一条的话:比如我们取user集合的第一条的user对象的id去查询:#{list[0].id}

User findById(List users);

    select count(1) from t_user

输出pojo

UserMapper:

int getTotal();

UserMapper.xml:


    select * from t_user t where instr(t.username, #{username}) > 0

输出Map集合

还是上面的例子,但是我们只需要查询id和用户名这2个字段

UserMapper:

List> getListByName(@Param("username") String username);

UserMapper.xml:


  select
    user_id as id,
    user_name as userName
  from t_user
  where user_id = #{id}

第二种是: 使用resultMap: select标签通过resultMap属性指定我们要使用的映射map


  
  



id用来唯一标识这个resultMap, type指的是映射的实体类id标签一般用来代表主键映射,result标签其他列映射property: 对象的属性名, column:数据库列名

参考链接
https://mybatis.net.cn/
https://mybatis.org/mybatis-3/

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

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

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