当前位置: 首页 > wzjs >正文

深圳新型材料网站建设加盟创业

深圳新型材料网站建设,加盟创业,基础建设期刊在哪个网站可以查,网络广告推广方式一、MyBatis-Plus核心特性 无侵入性 在MyBatis基础上增强,无需修改原有代码即可使用。自动化CRUD 内置通用Mapper和Service,减少80%单表操作代码。Lambda表达式 支持Lambda形式的条件构造,避免字段名硬编码错误。主键策略 支持雪花算法&…

一、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());}
}

更新中----

http://www.dtcms.com/wzjs/596155.html

相关文章:

  • 普通网站备案wordpress 函数 应用
  • 株洲网站优化找哪家创建公司需要什么条件
  • 织梦 网站名称网站开发书籍推荐
  • 营销网站设计公司排名群辉nas 做网站
  • 青岛建设投资公司网站上海网站备案需要多久
  • 创新创业教育课程网站建设方案自动做网站的ai
  • 沈阳建站模板搭建wordpress 修改语言
  • 大朗网站建设培训宁波企业黄页公司黄页
  • 做外贸哪些网站可以发布产品网站建设是永久使用吗
  • 想开个网站怎么做网站建设优化公司排名
  • 免费ppt成品网站好看的个人网站主页
  • 做消费网站流程试玩平台怎么做网站
  • 现在网站建设需要多少钱折800网站源码
  • 嘉兴网站建设一薇wordpress 伪静态404
  • 网站建设技术实现企业网站开发注册
  • 莱芜公交网站河北网站建设流程
  • 用什么软件来建网站有限责任公司怎么注册
  • 哪个公司网站设计好做物流网站的多少钱
  • 英文公司网站建设wordpress 教程
  • 网易网站开发语言佛山制作网站公司
  • 班级网站 模板ip可以用wordpress
  • 专业网站建设哪家好网络管理系统软件有哪些
  • 淄博网站制作服务推广黄做网站
  • 数码设计网站网页设计教程谁的好
  • 外网工业设计网站龙口建网站首选公司
  • 网站建设脚本语言有哪些什么网站做二手货车
  • 漳州网站建设技术wordpress使用插件下载
  • wordpress 回收站在哪里个人可以备案哪些网站
  • 您的网站空间已过期弄一个公司官网要怎么弄
  • 广西中小型营销型网站建设公司wordpress简单用户积分