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

成都哪里有网站开发公司建站系统哪个好

成都哪里有网站开发公司,建站系统哪个好,做网站有没有用,新疆网站建设公司系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 MyBatisPlus之增删改查 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是Mybati…

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
MyBatisPlus之增删改查


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 系列文章目录
  • 前言
  • 一、什么是MybatisPlus?
  • 二、SpringBoot集成MyBatisPlus
  • 三、MybatisPlus增删改查
    • 新增
    • 修改
    • 删除
      • 根据id删除
      • 批量删除
      • 根据条件删除
    • 查询
      • 根据id查询
      • 根据id批量查询
      • 根据字段条件查询
      • 条件构造器查询
        • 什么是条件构造器
        • 条件构造器参数
        • 条件构造器用法
      • 分页查询
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

在当今的软件开发领域,Java 一直占据着重要的地位。而在 Java 数据库操作方面,MyBatis-Plus 以其简洁、高效、易用的特点,成为了许多开发者的首选。
MyBatis-Plus 是一个基于 MyBatis 的增强工具,它在 MyBatis 的基础上进行了扩展和优化,提供了更加方便快捷的数据库操作方式。使用 MyBatis-Plus,我们可以通过注解和配置文件来轻松地实现数据库的增删改查操作,极大地提高了开发效率。
在本博客中,我们将详细介绍 MyBatis-Plus 的增删改查功能,并通过实际的代码示例来演示如何使用这些功能。我们将从基础知识开始,逐步深入探讨 MyBatis-Plus 的高级特性。无论你是刚刚接触 MyBatis-Plus,还是已经有一定经验的开发者,都能从中受益。
通过阅读本博客,你将了解到如何利用 MyBatis-Plus 进行高效的数据库操作,以及如何优化你的代码以获得更好的性能。让我们一起开启 MyBatis-Plus 之旅吧!


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是MybatisPlus?

MyBatis-Plus 是一个基于 MyBatis 框架的增强工具,它提供了一系列额外的功能和特性,使数据库操作更加简单和高效。MyBatis-Plus 的主要特点和优势包括:

  • 简化 SQL 编写:MyBatis-Plus 提供了丰富的注解和内置方法,极大地简化了 SQL 查询语句的编写。你可以通过注解或方法调用的方式来定义查询条件、分页、排序等,而无需手动编写复杂的 SQL 语句。
  • 自动生成代码:MyBatis-Plus 可以根据数据库表结构自动生成实体类、Mapper 接口、Service 类等相关代码,减少了手动编写代码的工作量。
  • 懒人式 CRUD 操作:MyBatis-Plus 提供了懒人式的 CRUD(增删改查)操作方法,你可以通过简单的调用方法来实现对数据库的增删改查操作,无需编写复杂的 SQL 语句和映射文件。
  • 分页和排序功能:MyBatis-Plus 内置了强大的分页和排序功能,你可以通过简单的设置来实现分页和排序,无需手动编写 SQL 语句。
  • 性能优化:MyBatis-Plus 对查询语句进行了优化,支持缓存、动态 SQL、延迟加载等技术,提高了数据库操作的性能。
  • 灵活的插件机制:MyBatis-Plus 支持插件扩展,你可以通过编写插件来实现自定义功能,如拦截器、分页插件等。

二、SpringBoot集成MyBatisPlus

1.创建SpringBoot项目,添加MyBatisPlus起步依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>
<!-- MyBatisPlus -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.0</version>
</dependency>
<!-- mysql驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version>
</dependency>
<!-- lombok -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
</dependency>

2.在SpringBoot配置文件中配置数据源

# 数据源
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql:///school?serverTimezone=UTCusername: rootpassword: root

3.编写实体类,大家根据需求编写
4.编写Mapper接口,继承BaseMapper

public interface StudentMapper extends BaseMapper<Student> {
}

5.在 SpringBoot启动类中添加 @MapperScan 注解,扫描Mapper文件夹

@SpringBootApplication
@MapperScan("com.zhangsan.mpdemo2.mapper")
public class SpringbootMpApplication {public static void main(String[] args) {SpringApplication.run(SpringbootMpApplication.class, args);}
}

6.测试Mapper方法

@SpringBootTest
public class StudentMapperTest {@Autowiredprivate StudentMapper studentMapper;@Testpublic void testFindById(){Student student = studentMapper.selectById(1);System.out.println(student);}
}

三、MybatisPlus增删改查

新增

@Test
public void testAdd(){Student student = new Student(null,"zhangsan","zs@zs.com","m",20);studentMapper.insert(student);// MyBatisPlus插入成功后,可直接直接获取主键的值System.out.println(student.getId());
}

修改

@Test
public void testUpdate() {//创建实体类对象Student student = new Student();//设置需要更新的属性student.setName("zhangsan");//设置需要修改的数据idstudent.setId(1);//根据主键进行更新,没有设置的值则忽略studentMapper.updateById(student);
}

删除

根据id删除

// 根据id删除
@Test
public void testDeleteById(){studentMapper.deleteById(7);
}

批量删除

// 批量删除
@Test
public void testDeleteBatch(){ArrayList<Integer> ids = new ArrayList();ids.add(2);ids.add(3);studentMapper.deleteBatchIds(ids);
}

根据条件删除

// 根据字段条件删除
@Test
public void testDeleteMap(){Map<String,Object> map = new HashMap();// 键为数据库列名,而不是对象属性名map.put("sname","小王");map.put("gender","m");// 删除name为小王且gender为m的数据studentMapper.deleteByMap(map);

查询

根据id查询

// 根据id查询
@Test
public void testFindById() {Student student = studentMapper.selectById(1);System.out.println(student);
}

根据id批量查询

// 根据id批量查询
@Test
public void testFindBatch() {//创建主键集合List<Integer> ids = new ArrayList<>();ids.add(1);ids.add(2);ids.add(3);List<Student> students = studentMapper.selectBatchIds(ids);students.forEach(System.out::println);
}

根据字段条件查询

// 根据字段条件查询
@Test
public void testFindMap() {Map<String,Object> map = new HashMap<>();map.put("sname","zhangsan");map.put("gender","m");//查询name为baizhan,gender为m的数据List<Student> students = studentMapper.selectByMap(map);students.forEach(System.out::println);
}

条件构造器查询

什么是条件构造器

在MybatisPlus中,条件构造器是一个可以帮助我们使用面向对象的方式实现数据库操作的where条件的工具,它将条件封装成了一个Wrapper对象。在使用时,我们可以创建条件构造器对象,其中Wrapper和AbstractWrapper是两个抽象类,不能直接实例化,我们在使用时常用的具体实现是QueryWrapper和UpdateWrapper。
条件构造器在查询和修改数据库数据时非常有用。在写一些复杂查询时,我们可以创建一个测试类,并在其中注入需要的Mapper,然后创建一个条件构造器对象,并使用该对象设置查询条件。最后,可以调用Mapper的查询方法来获取结果。

条件构造器参数
查询方式说明
or或条件语句
and且条件语句
like模糊查询 like
notLike模糊查询 not Like
existsexists 条件语句
notExistsnot Exists 条件语句
isNullnull 值查询
isNotNullis Not Null 查询
inin 查询
notInnot in 查询
groupBy分组查询
orderBy排序查询
having分组后筛选
eq等于 =
ne不等于 <>
betweenbetween 条件语句
gt大于>
ge大于等于>=
lt小于<
le小于等于<=
条件构造器用法
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;public class Example {public static void main(String[] args) {// 创建一个测试类,并在其中注入需要的 MapperExample example = new Example();// 执行查询操作List<Integer> result = example.queryData();System.out.println(result);}public List<Integer> queryData() {// 创建一个条件构造器对象QueryWrapper<Integer> wrapper = new QueryWrapper<>();// 设置查询条件wrapper.lt("id", 10).gt("id", 5).like("name", "A%").eq("type", 1);// 调用 Mapper 的查询方法List<Integer> list = this.mapper.queryList(wrapper);return list;}
}

分页查询

1.在配置类或启动类配置分页插件

// 注册插件
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;
}

2.分页查询

// 分页查询
@Test
public void testFindPage() {//创建分页条件,从第0条数据开始,获取两条数据Page page = new Page(2,2);// 分页查询,第二个参数为QueryWrapper,用于添加查询条件IPage<Student> iPage = studentMapper.selectPage(page, null);// 打印分页数据System.out.println("结果集:"+iPage.getRecords());System.out.println("总页数:"+iPage.getPages());System.out.println("总条数:"+iPage.getTotal());System.out.println("当前页:"+iPage.getCurrent());System.out.println("每页条数:"+iPage.getSize());
}

总结

提示:这里对文章进行总结:

MybatisPlus是一个支持自动映射和简化数据库操作的Mybatis增强工具,提供了丰富的注解和扩展功能,用于简化数据库的增删改查操作。以下是MybatisPlus的增删改查总结:

  • 增:使用Mapper接口的相应方法,如insert(),传入实体对象作为参数,即可完成数据的新增。
  • 删:使用Mapper接口的相应方法,如delete(),传入实体对象作为参数,即可完成数据的删除。
  • 改:使用Mapper接口的相应方法,如update(),传入实体对象作为参数,并指定需要修改的列,即可完成数据的修改。
  • 查:使用Mapper接口的相应方法,如selectOne()、selectList()等,传入查询条件作为参数,即可完成数据的查询。
    此外,MybatisPlus还支持条件构造器、分页查询等功能,可以根据具体需求进行配置和使用。
http://www.hotlads.com/news/3897.html

相关文章:

  • 泉州做网站多少钱东莞做网络推广的公司
  • 陕西秦地建设有限公司网站安徽疫情最新情况
  • 芭乐站长统计 网站统计常德论坛网站
  • 网站备案证书在哪里下载站长工具高清无吗
  • 盘锦做网站多少钱做一个app软件大概要多少钱
  • 正规网站建设公司一般要多少钱深圳网络推广推荐
  • wordpress4.8汉化百度seo优化排名
  • 哪家公司建5g基站百度网盘搜索引擎入口官网
  • 中国老区建设促进会网站一键识图找原图
  • 公司官方网站建设申请广州关键词排名推广
  • 深圳市网站建设公司设计百度竞价推广是什么
  • 国外的服务器建设的网站app开发制作
  • 椒江网站建设公司百度扫一扫网页版
  • 如何创建百度网站seo服务外包公司
  • 广州做企业网站找哪家公司好网站标题算关键词优化吗
  • 代做效果图网站好北京seo教师
  • 沂南网站建设打开百度搜索引擎
  • 某颜值女主播低俗内容流出视频恩城seo的网站
  • 做调查挣钱的网站站长推荐黄色
  • 做任务的网站有那些搜索引擎查重
  • 石家庄建设网站公司哪家好广州做seo公司
  • 做教育类网站拉新推广平台
  • 怎么制作钓鱼网站下载百度推广app
  • 政府蒙古文网站建设汇报推广公司属于什么公司
  • 织梦分类信息做的网站百度关键字优化精灵
  • 伪静态网站网站 目录写入权限电商网站开发需要多少钱
  • 美女做暖暖免费视频网站推广拉新任务的平台
  • 厦门网站开发公司自己的网站怎么做seo
  • 郑州专业做网站汕头seo全网营销
  • 网站开发使用软件环境国际婚恋网站排名