mybatis注解——详解

1、@Mapper

该注解定义在mapper接口上
作用:

  1. 将mapper接口交给Spring进行管理
  2. 不用写Mapper映射文件(XML)
  3. 为这个NewsDAO接口生成一个实现类,让别的类进行引用

和@MapperScan的作用一样。但是@MapperScan可以注解多个包,更省事。比如:@MapperScan({“com.zcy.demomapper”,“com.zcy.usermapper”})

2、@Select:

类似于<select>标签

@Select("SELECT * FROM `user`")
List<String> selectUser();

3、@Insert

类似于<insert>标签

@Insert({"INSERT INTO `user` (id,name) ",
            "VALUES (#{userId,jdbcType = INTEGER},#{userName,jdbcType = VARCHAR})"})
int insertUser(User user);

这里的 jdbcType 可写可不写,如果要写就必须字母大写

4、@Update

类似于<update>

@Update({"UPDATE `user` SET name = #{userName,jdbcType = VARCHAR} ",
			"WHERE id = #{userId, jdbcType = INTEGER}"})
int updateUser(User user);

5、@Delete

类似于<delete>

@Delete({"DELETE FROM `user`",
			"WHERE id = #{userId, jdbcType = INTEGER}"})
int deleteUser(User user)

6、@Results和@Result

类似于<resultMap>和<resultMap>的子标签

@Results(id = "userMap", value = {
            @Result(column = "id", property = "userId", jdbcType = JdbcType.INTEGER),
            @Result(column = "name", property = "userName", jdbcType = JdbcType.VARCHAR),
            @Result(column = "update_time", property = "updateTime", jdbcType = JdbcType.TIMESTAMP)
    })
@Select("SELECT * FROM `user`")
List<User> selectAllUser();

7、@ResultType和@ResultMap

类似于<select>标签里的resultMap属性

@ResultMap("userMap" //@Results里id的值) 
//@ResultType(User.class)
@Select("SELECT * FROM `user`")
List<User> selectAllUser2();

8、@One

类似于<association>

9、@Many

类似于<collection>

10、@Options

目前用到此注解的功能只有一个,就是在insert的时候,返回自增列的值;

	@Insert("INSERT INTO `passenger_info` (orderNo,name,age_type,passengerInfo,card_number) " +
            "VALUES " +
            "(#{orderNo,jdbcType = VARCHAR}," +
            "#{name,jdbcType = VARCHAR}," +
            "#{ageType,jdbcType = INTEGER}," +
            "#{passengerInfo,jdbcType = LONGVARCHAR}," +
            "#{cardNumber,jdbcType = VARCHAR})")
    @Options(useGeneratedKeys = true, keyProperty = "passengerId", keyColumn = "passengerId")
    int insertPassengerInfo(PassengerInfo passengerInfo);

这个时候,使用 passengerInfo.getPassengerId() 即可获得自增列 passengerId 的值

注解大全 https://blog.csdn.net/weixin_43791238/article/details/93527217

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值