mybatis基于注解方式的几个特殊sql写法

本文详细介绍了如何使用MyBatis的@Select、@Update和@Insert注解来实现条件查询、不确定字段更新及自动生成主键并返回的操作。通过具体的代码示例,展示了如何在实际项目中灵活运用这些注解进行数据库的增删改查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、@Select

这个是按条件查询的使用

@Select({"<script>", "select * from user ", "where 1=1", "<when test='userName != null and userName != \"\"'>", " AND user_name = #{userName}", "</when>", 
"<when test='userPhone != null and userPhone != \"\"'>", " AND user_phone = #{userPhone}", "</when>", "</script>"})
List<UserInfo> getMerchantOrderList(UserModel userModel);

2、@Update

这个是不确定修改那些字段

@Update({"<script>", "update user", "<set>", "<if test='userName != null'>", "user_name = #{userName},", "</if>", 
"<if test='password !=null'>", "password = #{password},", "</if>", "</set>", "where user_id = #{userId}", "</script>"})
void updateUserInfo(UserInfo userInfo);

3、@Insert

这个是数据库自动生成user_id,可以把插入的这条数据的user_id返回到你传参的实体类对应的字段中

@Insert("insert into user(user_name,password) values(#{userName}, #{password})")
@Options(useGeneratedKeys = true, keyProperty = "userId", keyColumn = "user_id")
void insertUser(UserInfo userInfo);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值