Mybatis-知识点总结

本文主要介绍了Mybatis的核心知识点,包括Mapper层的面向接口编程,使用@Mapper注解以及确保方法名与Xml文件中id匹配。同时,详细讨论了Xml文件的配置,如namespace属性应与Mapper文件一致,以及确保sql标签id与Mapper方法对应。此外,还提及了Mybatis的动态SQL功能。
摘要由CSDN通过智能技术生成

Mybatis

一、 Mapper层

  • 使用面向接口编程思想

  • 使用@Mapper注解**

  • 方法名字要和对应的Xml文件中的id对应

    @Component
    @Mapper
    public interface RoleMapper
    {
    	/**
    	 * 查找所有人员
    	 * @return roles
    	 */
    	List<Role> findAll();
    
    	/**
    	 * 新增role数据
    	 * @param role
    	 * @return 1 保存成功、0	保存失败???为啥?是系统封装好的吗?
    	 */
    	int insertRole(Role role);
    
    	/**
    	 * 修改role
    	 * @param role
    	 */
    	int updateRole(Role role);
    
    	/**
    	 * 通过id删除role
    	 * @param id
    	 */
    	void deleteRole(long id);
    
    }
    

二、Xml文件

  • namespace属性中的路径要和Mapper文件对应
  • 事件id要和Mapper文件的方法名对应
<?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.ray.study.spring.mybatisinaction.mapper.RoleMapper">
    <select id="findAll" resultType="com.ray.study.spring.mybatisinaction.entity.Role" >
        Select * from Role
        <where>
            <if test="roleName !=null ">
                role_name like #{roleName}
            </if>
            <if test="roleCode !=null ">
                role_code like #{roleCode}
            </if>
        </where>
    </select>

    <insert id="insertRole" parameterType="com.ray.study.spring.mybatisinaction.entity.Role">
        insert into role(role_code,role_name) values(#{roleCode},#{roleName})
    </insert>

    <update id="updateRole" parameterType="com.ray.study.spring.mybatisinaction.entity.Role">
        update role set role_code = #{roleCode} , role_name = #{roleName} where id=#{id}
    </update>

    <delete id="deleteRole" parameterType="long">
        delete from role where id=#{id}
    </delete>
</mapper>

三、动态SQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值