MyBatis的mapper接口使用

一、mappers下面的xml文件

注意namespace对应接口的所在包的路径和select的id对应下面接口的方法,必须要一一对应!!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hw.oa.mapper.EmployeeMapper">
    <select id="selectById" parameterType="long" resultType="com.hw.oa.entity.Employee">
        select * from adm_employee
        where employee_id = #{employeeId}
    </select>
</mapper>

二、mapper层的mapper接口

package com.hw.oa.mapper;

import com.hw.oa.entity.Employee;

/**
 * @Author: Aiver
 * @Date: 2023/02/15~~15:17
 * @Description:
 */
public interface EmployeeMapper {
    public Employee selectById(Long employeeId);
}

三、在mybatis的配置文件里面注册对应的xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <environments default="dev">
        <environment id="dev">
            <transactionManager type="JDBC"></transactionManager>
<!--            <dataSource type="POOLED">-->
            <dataSource type="com.hw.oa.datasource.DruidDataSourceFactory">
                <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<!--                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>-->
                <property name="url" value="jdbc:mysql://localhost:3306/imooc_oa?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai&amp;allowPublicKeyRetrieval=true"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
                <property name="initialSize" value="10"/>
                <property name="maxActive" value="20"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mappers/test.xml"></mapper>
        <mapper resource="mappers/user.xml"/>
        <mapper resource="mappers/rbac.xml"/>
        <mapper resource="mappers/employee.xml"/>
<!--        <mapper resource="mappers/leave_form.xml"/>-->
<!--        <mapper resource="mappers/process_flow.xml"/>-->
<!--        <mapper resource="mappers/notice.xml"/>-->
<!--        <mapper resource="mappers/department.xml"/>-->
    </mappers>
</configuration>

四、测试用例使用

package com.hw.oa.mapper;

import com.hw.oa.entity.Employee;
import com.hw.oa.utils.MybatisUtil;
import org.junit.Test;

import static org.junit.Assert.*;

/**
 * @Author: Aiver
 * @Date: 2023/02/15~~15:18
 * @Description:
 */
public class EmployeeMapperTest {

    @Test
    public void selectById() {
        Employee result =(Employee) MybatisUtil.execute(sqlSession -> {
            EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
            Employee employee = employeeMapper.selectById(Long.valueOf(2));
            System.out.println(employee);
            return employee;
        });
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MyBatis Mapper 接口和 XML 是 MyBatis 框架中的两个重要组成部分。 Mapper 接口是一个 Java 接口,用于定义 SQL 语句的映射方法。在 Mapper 接口中,我们可以使用注解或 XML 配置文件来定义 SQL 语句,并将其映射到 Java 方法中。 XML 文件是用于配置 MyBatis 的 SQL 映射关系的文件。在 XML 文件中,我们可以定义 SQL 语句、参数映射、结果映射等信息,以及与 Mapper 接口中的方法进行映射。 通过使用 MyBatis Mapper 接口和 XML 文件,我们可以方便地进行 SQL 语句的映射和执行,从而实现数据访问层的开发。 ### 回答2: MyBatis MapperMyBatis 框架中用于定义 SQL MAP 的一个组件,可以通过 XML 文件或者 Java 接口来进行定义,其中 XML 文件和 Java 接口的组合是 Mapper 的一个典型实现。 首先,MyBatisMapper 接口是用于定义 SQL 的,通过在接口中定义抽象方法,并使用注解或者 XML 文件来映射 SQL 语句。使用接口的优势是可以很好地避免 SQL 语句的硬编码,通过方法名和参数来动态生成 SQL 语句,提高了代码的可读性和可维护性。另外,Mapper 接口还可以进行参数映射、结果集映射等操作,使得开发者可以更加方便地操作数据库。 而 MyBatis Mapper XML 文件则是用于描述 SQL 语句的,通过在 XML 文件中定义映射关系来实现 SQL 语句的执行。Mapper XML 文件可以包括多个 SQL 语句,每个语句都有一个唯一的 ID 用于标识。在 Mapper XML 文件中,还可以对 SQL 语句进行参数、结果集映射,从而更好地与 Java 对象进行交互。 当 Mapper 接口和 XML 文件组合起来使用时,可以更加灵活地操作数据库。通常情况下,使用接口和 XML 文件的组合方式可以提高开发效率,同时也能保持代码的整洁和可读性。此外,MyBatis 还提供了一些自定义标签和语言解析器,使得开发者能够更加方便地描述 SQL 语句,提高了编写 SQL 语句的效率和可维护性。 总之,MyBatis Mapper 接口和 XML 文件是 MyBatis 框架中重要的组件,可以帮助开发者更好地操作数据库。一个好的 Mapper 接口和 XML 文件的设计能够提高开发效率和代码质量,建议开发者在使用 MyBatis 框架时重视 Mapper 的设计。 ### 回答3: Mybatis是一款优秀的ORM框架,它的核心思想是将Java对象映射到数据库中的表,同时提供了强大的SQL语句执行能力,使得开发人员可以方便地操作数据库。MapperMybatis最重要的组件之一,它负责定义数据访问对象的接口和SQL映射文件,与XML配置文件配合使用,完成对数据库的操作。 MybatisMapper接口和XML文件是分离的,但是两者之间有一一对应的关系。Mapper接口定义了数据访问对象的方法,方法名和参数与SQL映射文件中定义的SQL语句对应,返回值则是Java对象或者基本类型。例如,下面是一个简单的Mapper接口定义: public interface UserMapper { User selectUserById(int id); } 其中,selectUserById方法定义了根据用户id查询用户信息的SQL语句。在对应的SQL映射文件中,需要使用<select>标签来定义这个SQL语句,并指定对应的Mapper接口方法: <select id="selectUserById" parameterType="int" resultType="User"> select * from t_user where id = #{id} </select> 这个SQL语句可以根据传入的参数id,查询t_user表中对应的用户信息,并将查询结果映射到User对象中。 MybatisMapper接口和XML文件的优势在于其分层设计和松耦合能力。Mapper接口可以直接与Java业务逻辑层结合使用,而无需编写复杂的SQL语句,使得开发人员可以更加关注业务逻辑的实现。而SQL映射文件则可以抽象出数据库操作,并提供了更加强大的SQL执行和调优能力,可以满足复杂的数据查询和更新要求。同时,由于Mapper接口和XML文件是分离的,使得对数据访问对象的修改和维护更加方便,可以快速响应业务变化。 总之,MybatisMapper接口和XML文件设计是其优秀性能的重要原因之一,使得Mybatis的应用在大型的数据访问场景中表现出色。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值