MyBatisPlus快速入门实战

1.首先
安装

// 引入MyBatis-Plus的依赖
// 在pom.xml中添加以下依赖

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>{version}</version>
</dependency>

// 创建一个实体类
@Data
public class User {
private Long id;
private String name;
private Integer age;
}

// 创建一个Mapper接口
@Mapper
public interface UserMapper extends BaseMapper<User> {
}

// 在application.yml中配置MyBatis-Plus的相关配置
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
type-aliases-package: com.example.entity

// 在Spring Boot的启动类中添加Mapper扫描注解
@MapperScan("com.example.mapper")
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}

// 进行增删改查操作的服务类
@Service
public class UserService {
@Autowired
private UserMapper userMapper;

// 查询所有用户
public List<User> getAllUsers() {
return userMapper.selectList(null);
}

// 根据ID查询用户
public User getUserById(Long id) {
return userMapper.selectById(id);
}

// 新增用户
public void addUser(User user) {
userMapper.insert(user);
}

// 删除用户
public void deleteUser(Long id) {
userMapper.deleteById(id);
}

// 更新用户信息
public void updateUser(User user) {
userMapper.updateById(user);
}
}

以上示例展示了如何使用MyBatis-Plus进行基本的增删改查操作。

首先,需要引入MyBatis-Plus的依赖,并创建一个实体类。

然后,创建一个Mapper接口,继承MyBatis-Plus提供的BaseMapper接口,以便拥有基本的增删改查方法。

在Spring Boot的启动类中,需要添加Mapper扫描注解来自动扫描Mapper接口。

最后,在服务类中注入UserMapper,并编写具体的增删改查方法。

通过这些方法,可以对数据库中的用户表进行操作。

下面是AbstractWrapper

allEq

全部eq(或个别isNull)

allEq(Map<R, V> params)
allEq(Map<R, V> params, boolean null2IsNull)
allEq(boolean condition, Map<R, V> params, boolean null2IsNull)

eq 等于 =
eq(R column, Object val)
eq(boolean condition, R column, Object val)

ne 不等于 <>
ne(R column, Object val)
ne(boolean condition, R column, Object val)

gt大于 >
gt(R column, Object val)
gt(boolean condition, R column, Object val)

ge
大于等于 >=
ge(R column, Object val)
ge(boolean condition, R column, Object val)

lt 小于 <
lt(R column, Object val)
lt(boolean condition, R column, Object val)

le  小于等于 <=
le(R column, Object val)
le(boolean condition, R column, Object val)

between BETWEEN1 AND2
between(R column, Object val1, Object val2)
between(boolean condition, R column, Object val1, Object val2)

notBetween NOT BETWEEN1 AND2
notBetween(R column, Object val1, Object val2)
notBetween(boolean condition, R column, Object val1, Object val2)

like LIKE '%值%'
like(R column, Object val)
like(boolean condition, R column, Object val)

notLike
NOT LIKE '%值%': notLike("name", "王")--->name not like '%王%'

likeLeft
LIKE '%值': likeLeft("name", "王")--->name like '%王'

likeRight
LIKE '值%': likeRight("name", "王")--->name like '王%'

notLikeLeft
NOT LIKE '%值': notLikeLeft("name", "王")--->name not like '%王'

notLikeRight
NOT LIKE '值%': notLikeRight("name", "王")--->name not like '王%'

isNull
字段 IS NULL: isNull("name")--->name is null

isNotNull
字段 IS NOT NULL: isNotNull("name")--->name is not null

in
字段 IN (value.get(0), value.get(1), ...): in("age",{1,2,3})--->age in (1,2,3)

notIn
字段 NOT IN (value.get(0), value.get(1), ...): notIn("age",{1,2,3})--->age not in (1,2,3)

inSql
字段 IN ( sql语句 ): inSql("age", "1,2,3,4,5,6")--->age in (1,2,3,4,5,6): inSql("id", "select id from table where id < 3")--->id in (select id from table where id < 3)

notInSql
字段 NOT IN ( sql语句 ): notInSql("age", "1,2,3,4,5,6")--->age not in (1,2,3,4,5,6): notInSql("id", "select id from table where id < 3")--->id not in (select id from table where id < 3)

groupBy
分组:GROUP BY 字段, ...: groupBy("id", "name")--->group by id,name

orderByAsc
orderByAsc(R... columns)
orderByAsc(boolean condition, R... columns)
排序:ORDER BY 字段, ... ASC: orderByAsc("id", "name")--->order by id ASC,name ASC

orderByDesc
排序:ORDER BY 字段, ... DESC: orderByDesc("id", "name")--->order by id DESC,name DESC

orderBy
排序:ORDER BY 字段, ...: orderBy(true, true, "id", "name")--->order by id ASC,name ASC

having
HAVING ( sql语句 ): having("sum(age) > 10")--->having sum(age) > 10: having("sum(age) > {0}", 11)--->having sum(age) > 11

func
func 方法(主要方便在出现if...else下调用不同方法能不断链): func(i -> if(true) {i.eq("id", 1)} else {i.ne("id", 1)})

or
or()
or(boolean condition)
拼接 OR: eq("id",1).or().eq("name","老王")--->id = 1 or name = '老王'
or(Consumer<Param> consumer)
or(boolean condition, Consumer<Param> consumer)
OR 嵌套
例: or(i -> i.eq("name", "李白").ne("status", "活着"))--->or (name = '李白' and status <> '活着')

and
AND 嵌套
例: and(i -> i.eq("name", "李白").ne("status", "活着"))--->and (name = '李白' and status <> '活着')

nested
正常嵌套 不带 AND 或者 OR: nested(i -> i.eq("name", "李白").ne("status", "活着"))--->(name = '李白' and status <> '活着')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 如果你想要入门 MyBatis-Plus,可以按照以下步骤进行: 1. 首先,你需要在你的项目中引入 MyBatis-Plus 的依赖。可以在你的项目的 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` 请确保将最新版本号替换为你想要使用的 MyBatis-Plus 版本号。 2. 然后,你需要配置 MyBatis-Plus。你可以在你的项目中创建一个 MyBatisPlusConfig 类,并在该类中注册一些必要的 Bean。例如,如果你想要使用乐观锁插件,你可以在 MyBatisPlusConfig 类中注册一个 OptimisticLockerInterceptor 的 Bean,如下所示: ```java @Configuration public class MyBatisPlusConfig { @Bean public OptimisticLockerInterceptor optimisticLockerInterceptor() { return new OptimisticLockerInterceptor(); } } ``` 这样就完成了乐观锁插件的注册。 3. 最后,你需要在 MyBatis 的配置文件中配置 MyBatis-Plus 的一些属性。例如,如果你想要在控制台输出 MyBatis-Plus 的日志,你可以在配置文件中添加以下配置: ``` mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl ``` 这样就完成了 MyBatis-Plus 的入门配置。 总结起来,要入门 MyBatis-Plus,你需要引入依赖、配置 MyBatisPlusConfig 类和配置 MyBatis-Plus 的属性。这样就可以开始使用 MyBatis-Plus 来简化开发和提高效率了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MybatisPlus入门教程](https://blog.csdn.net/qq_44732432/article/details/129221273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YULIU_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值