当前位置: 首页> 健康> 母婴 > 公益免费空间主机_页面设计报价_百度上做推广怎么做_如何网上销售自己的产品

公益免费空间主机_页面设计报价_百度上做推广怎么做_如何网上销售自己的产品

时间:2025/7/11 8:14:56来源:https://blog.csdn.net/qq_45626589/article/details/146027021 浏览次数:0次
公益免费空间主机_页面设计报价_百度上做推广怎么做_如何网上销售自己的产品

一、MyBatis-Plus核心特性

  1. 无侵入性
    在MyBatis基础上增强,无需修改原有代码即可使用。
  2. 自动化CRUD
    内置通用Mapper和Service,减少80%单表操作代码。
  3. Lambda表达式
    支持Lambda形式的条件构造,避免字段名硬编码错误。
  4. 主键策略
    支持雪花算法(ASSIGN_ID)、UUID(ASSIGN_UUID)、自增(AUTO)等主键生成方式。

二、快速入门案例

1. 数据库准备

DROP TABLE IF EXISTS sys_user;CREATE TABLE sys_user
(id BIGINT NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT NULL DEFAULT NULL COMMENT '年龄',email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',PRIMARY KEY (id)
);
DELETE FROM sys_user;INSERT INTO sys_user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

2. Spring Boot配置

pom.xml依赖

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-annotation</artifactId><version>3.5.3.1</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-core</artifactId><version>3.5.3.1</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>3.0.3</version></dependency>

application.yml

spring:datasource:url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8username: rootpassword: root

3. 实体类与Mapper

package com.awei.mybatismodel.entity;import lombok.Data;@Data
public class SysUser {private Long id;private String name;private Integer age;private String email;
}
package com.awei.mybatismodel.mapper;import com.awei.mybatismodel.entity.SysUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;public interface SysUserMapper extends BaseMapper<SysUser> {}

4.启动类

package com.awei.mybatismodel;import org.springframework.boot.SpringApplication;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@MapperScan("com.awei.mybatismodel.mapper")
public class MybatisModelApplication {public static void main(String[] args) {SpringApplication.run(MybatisModelApplication.class, args);}}

5.测试

package com.awei.mybatismodel;import com.awei.mybatismodel.entity.SysUser;
import com.awei.mybatismodel.mapper.SysUserMapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;@SpringBootTest
public class QuickStartTest {@Autowiredprivate SysUserMapper userMapper;@Testpublic void testSelect() {System.out.println(("----- selectAll method test ------"));List<SysUser> userList = userMapper.selectList(null);Assertions.assertEquals(5, userList.size());userList.forEach(System.out::println);}
}

在这里插入图片描述

三、核心注解详解

注解作用示例
@TableName指定实体类对应的表名@TableName("sys_user")
@TableId标识主键字段@TableId(type = IdType.AUTO)
@TableField字段与列映射/自动填充策略@TableField(value = "email", fill = FieldFill.INSERT_UPDATE)

主键策略示例

public enum IdType {AUTO,        // 数据库自增ASSIGN_ID,   // 雪花算法(默认)ASSIGN_UUID  // UUID生成
}

四、CRUD操作

1. 基础操作

// 插入
User user = new User();
user.setName("Tom");
userMapper.insert(user);// 查询
User user = userMapper.selectById(1L);// 更新
user.setAge(30);
userMapper.updateById(user);// 删除
userMapper.deleteById(2L);

2. 条件构造器(Wrapper)

LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.like(User::getName, "J")      // 模糊查询.ge(User::getAge, 18)          // 年龄>=18.orderByDesc(User::getCreateTime);List<User> users = userMapper.selectList(wrapper);

生成SQL:

SELECT * FROM user WHERE name LIKE '%J%' AND age >= 18 ORDER BY create_time DESC

五、分页查询

1. 配置分页插件

@Configuration
public class MybatisPlusConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}

2. 分页查询代码

Page<User> page = new Page<>(1, 10);  // 第1页,每页10条
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getAge, 20);IPage<User> userPage = userMapper.selectPage(page, wrapper);
System.out.println("总记录数:" + userPage.getTotal());

六、高级功能

1. 逻辑删除

表字段

ALTER TABLE user ADD is_deleted TINYINT(1) DEFAULT 0 COMMENT '逻辑删除标记';

配置

mybatis-plus:global-config:db-config:logic-delete-field: isDeleted  # 逻辑删除字段名logic-delete-value: 1          # 删除标记值logic-not-delete-value: 0      # 未删除标记值

2. 自动填充

public class MetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());}
}

更新中----

关键字:公益免费空间主机_页面设计报价_百度上做推广怎么做_如何网上销售自己的产品

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: