java接口的映射文件,mybatis 详解(六)-通过mapper接口加载映射文件 - Java 技术驿站-Java 技术驿站...

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

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

以前的做法:

7890e1d325b89f8214c415dcdbce2edd.png

改进做法:使用 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 接口(单个加载映射文件)

c4ac9efa5377869aa4664de3aa14ce21.png

3、编写UserMapper.xml 文件

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

resultType="com.ys.po.User" parameterType="int">

select * from user where id = #{id1}

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() throws Exception{

//获取mapper接口

UserMapper userMapper = session.getMapper(UserMapper.class);

User user = userMapper.selectUserById(1);

System.out.println(user);

session.close();

}

5、批量加载映射文件

6、注意

1、UserMapper 接口必须要和 UserMapper.xml 文件同名且在同一个包下,也就是说 UserMapper.xml 文件中的namespace是UserMapper接口的全类名

3abbebe0c4923f082c82e0ff0378318c.png

2、UserMapper接口中的方法名和 UserMapper.xml 文件中定义的 id 一致

3、UserMapper接口输入参数类型要和 UserMapper.xml 中定义的 parameterType 一致

4、UserMapper接口返回数据类型要和 UserMapper.xml 中定义的 resultType 一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值