Mybatis如何使用@Mapper和@MapperScan注解实现映射关系呢?
下文笔者讲述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); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。