热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

详解mybatis通过mapper接口加载映射文件

通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的。那么什么是通过 mapper 接口加载映射文件呢?

通过 mapper 接口加载映射文件,这对于后面 ssm三大框架 的整合是非常重要的。那么什么是通过 mapper 接口加载映射文件呢?

我们首先看以前的做法,在全局配置文件 mybatis-configuration.xml 通过 标签来加载映射文件,那么如果我们项目足够大,有很多映射文件呢,难道我们每一个映射文件都这样加载吗,这样肯定是不行的,那么我们就需要使用 mapper 接口来加载映射文件

以前的做法:

  

改进做法:使用 mapper 接口来加载映射文件

1、定义 userMapper 接口

package com.ys.mapper;

 

import org.apache.ibatis.annotations.Delete;

import org.apache.ibatis.annotations.Insert;

import org.apache.ibatis.annotations.Select;

import org.apache.ibatis.annotations.Update;

 

import com.ys.po.User;

 

public interface UserMapper {

  //根据 id 查询 user 表数据

  public User selectUserById(int id) throws Exception;

 

  //向 user 表插入一条数据

  public void insertUser(User user) throws Exception;

   

  //根据 id 修改 user 表数据

  public void updateUserById(User user) throws Exception;

   

  //根据 id 删除 user 表数据

  public void deleteUserById(int id) throws Exception;

} 

2、在全局配置文件 mybatis-configuration.xml 文件中加载 UserMapper 接口(单个加载映射文件)

3、编写UserMapper.xml 文件

<&#63;xml version="1.0" encoding="UTF-8" &#63;>





 

   

  

  

   

   

   

  

  

    update user u

      

      

        

          u.username = #{username},

        

        

          u.sex = #{sex},

        

      

     

     where id=#{id}

  

   

   

  

  

    

    

      select LAST_INSERT_ID() 

    

    insert into user(username,sex,birthday,address)

      value(#{username},#{sex},#{birthday},#{address})

  

   

   

   

  

  

    delete from user where id=#{id}

  

   

 

4、测试

//根据id查询user表数据

@Test

public void testSelectUserById(){

  /*这个字符串由 userMapper.xml 文件中 两个部分构成

     的 namespace 的值

    
            
推荐阅读
author-avatar
老男孩标兄_164
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有