Mybatis如何使用@Mapper和@MapperScan注解实现映射关系呢?

戚薇 MyBatis 发布时间:2023-05-02 21:50:43 阅读数:1794 1
下文笔者讲述Mybatis中使用@Mapper和@MapperScan注解使用的简介说明

@Mapper和@MapperScan注解的功能

@Mapper功能:
    用于标识此类是一个Mapper类

@MapperScan功能:
    用于指定指定路径下,所有类都是Mapper对象
例:
/**
 * 用户信息Mapper动态代理接口
 **/
@Mapper
@Repository
public interface UserMapper
{
    /**
     * 新增用户,并获取自增主键
     */
    @Insert("INSERT INTO tb_user(user_account,user_password,blog_url,blog_remark) VALUES(#{userAccount},#{userPassword},#{blogUrl},#{blogRemark})")
    @Options(useGeneratedKeys = true, keyColumn = "user_id", keyProperty = "userId")
    //或 @SelectKey(statement = "SELECT LAST_INSERT_ID()", keyColumn = "user_id", keyProperty = "userId",before = false, resultType = Integer.class)
    public int insertUser(UserInfo userInfo);
 
    /**
     * 修改用户
     */
    @Update("UPDATE tb_user SET user_account = #{userAccount} ,user_password = #{userPassword} ,blog_url=#{blogUrl} ,blog_remark=#{blogRemark} WHERE user_id = #{userId}")
    public int updateUser(UserInfo userInfo);
 
    /**
     * 删除用户
     */
    @Delete("DELETE FROM tb_user WHERE user_id = #{userId}")
    public int deleteUser(int userId);
 
    /**
     * 根据用户ID,获取用户信息
     */
    @Select("SELECT * FROM tb_user WHERE user_id = #{userId}")
    public UserInfo getUserById(int userId);
}


//笔者建议
//以后直接在SpringBoot启动类中
//加@MapperScan("com.java265.mapper")注解
//此时不用对每个Mapper都添加@Mapper注解

package com.java265;
 
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
/**
 * SpringBoot启动类
 * 
 **/
@MapperScan("com.java265.mapper")
@SpringBootApplication
public class SpringbootMybatisDemoApplication
{
    public static void main(String[] args)
    {
        SpringApplication.run(SpringbootMybatisDemoApplication.class, args);
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/MyBatis/202305/6329.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者