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

源码网站模板国际酒店网站建设不好

源码网站模板,国际酒店网站建设不好,恒锐奇 做网站,商标自动生成免费软件前言 MyBatis-Plus 是一个 MyBatis 的增强工具,旨在简化开发、减少工作量。本文将介绍如何使用 Spring Boot 集成 MyBatis-Plus 来操作数据库,并结合 Redis 实现数据的缓存功能。 1项目搭建 1.1 创建 Spring Boot 项目 可以通过 Spring Initializr 快…

前言

MyBatis-Plus 是一个 MyBatis 的增强工具,旨在简化开发、减少工作量。本文将介绍如何使用 Spring Boot 集成 MyBatis-Plus 来操作数据库,并结合 Redis 实现数据的缓存功能。

1项目搭建 

1.1 创建 Spring Boot 项目

可以通过 Spring Initializr 快速创建一个新的 Spring Boot 项目,选择必要的依赖如 Spring Web, MyBatis Plus, MySQL Driver 和 Spring Data Redis 等。

1.2 添加依赖 

pom.xml 文件中添加以下依赖:

<dependencies><!-- MyBatis-Plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>1.2.18</version></dependency><!-- MySQL --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- Redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
</dependencies>

1.3配置文件

application.ymlapplication.properties 中配置数据库连接和 Redis 连接信息。

spring:datasource:url: jdbc:mysql://localhost:3306/yourdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaiusername: rootpassword: yourpasswordredis:host: localhostport: 6379

2开发过程

2.1 创建实体类

根据 book_tab 表结构创建对应的实体类 Book

package com.ffyc.springboot.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("book_tab")
public class Book {@TableId(value="book_id",type = IdType.AUTO)private Integer id;@TableField("book_title")private String title;@TableField("book_author")private String author;@TableField("book_price")private Double price;@TableField("book_desc")private String descx;
}

2. 2编写 Mapper 接口

使用 MyBatis-Plus 提供的 BaseMapper 快速编写 DAO 层接口。 

package com.ffyc.springboot.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ffyc.springboot.entity.Book;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface IBookMapper  extends BaseMapper<Book> {}

2.3测试方法

CURD(增删改查)的实现以及全查询,模糊查询,分页处理,缓存redis.

package com.ffyc.springboot.mapper;import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ffyc.springboot.entity.Book;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.ReactiveRedisOperations;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;import static org.junit.Assert.*;
//构建SpringBoot测试环境
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)public class IBookMapperTest {@Autowired//创建IBookTest的实现类private IBookMapper mapper;@Autowired//redis的操作类private StringRedisTemplate stringRedisTemplate;private ReactiveRedisOperations<Object, Object> redisTemplate;@Testpublic void testSave(){
//        Book book=new Book();将book对象放在循环之外,会加快运行速度,因为只用创造一个对象,
//        但是无法实现id的自增长,需要手动增ID,因此无法连续增长两次,会显示id重复for (int i=20;i>0;i--) {
//            book.setId(i);Book book=new Book();book.setTitle("三国"+i);book.setAuthor("测试数据吴承恩"+i);book.setPrice(99.99+i);book.setDescx("兴复汉室....");mapper.insert(book);}
//        book.setTitle("三国");
//        book.setAuthor("测试数据吴承恩");//        book.setDescx("兴复汉室");
//        book.setPrice(99.99);
//        mapper.insert(book);}@Testpublic void Update(){Book book=new Book();book.setId(1);book.setTitle("新三国");book.setAuthor("测试数据吴承恩");book.setDescx("兴复汉室");book.setPrice(99.99);mapper.updateById(book);}@Testpublic void Delete(){mapper.deleteById(1);}@Testpublic void testFindAll() {System.out.println( mapper.selectList(null));}@Testpublic  void testFindCondition() {LambdaQueryWrapper<Book> querwrapper = new LambdaQueryWrapper<>();
//        querwrapper.like(Book::getTitle, "三");querwrapper.like(Book::getAuthor,"恩").eq(Book::getTitle,"三国");System.out.println(mapper.selectList(querwrapper));}/*** 分页,从第1页开始,20条为一列*/@Testpublic void testPage() {IPage<Book> page = new Page<>();page.setCurrent(1);page.setSize(20); //limit 0,50LambdaQueryWrapper<Book> queryWrapper = new LambdaQueryWrapper<>();IPage<Book> bookIPage = mapper.selectPage(page, queryWrapper);System.out.println(bookIPage.getRecords());//        books.forEach(System.out::println);}@Testpublic void redisSave(){for(int i=1;i<30;i++) {Book book =mapper.selectById(i);System.out.println(book);stringRedisTemplate.opsForValue().set(String.valueOf(book.getId()), book.getTitle());//放入redis里}
//        Book book =mapper.selectById(1);
//        System.out.println(book);stringRedisTemplate.opsForValue().set(String.valueOf(book.getTitle()),book.getAuthor());
//        stringRedisTemplate.opsForValue().set(String.valueOf(book.getId()), book.getTitle());//放入redis里//        redisTemplate.opsForValue().set("name","吴承恩");
//        System.out.println(redisTemplate.opsForValue().get("name"));}}

分页的原因是解决数据量过大的问题,使用limit进行拦截

 在实现分页的时候,记得先安装分页的插件,MyBatis-Plus的分页插件PaginationInnerInterceptor提供了强大的分页功能,支持多种数据库,使得分页查询变得简洁高效。

package com.ffyc.springboot.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 分页拦截器* @ClassName MybatisplusInterceptor* @Description TODO* @Author 49354* @Date 2025/3/2 14:32* @Version 1.0*/
@Configuration  //配置,交给管家-spring
@MapperScan("com.ffyc.springboot.mapper")
public class MybatisplusInterceptor {//让管家spring帮我们造成拦截器对象@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加// 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbTypereturn interceptor;}}

结语

通过上述步骤,我们已经完成了使用 Spring Boot 和 MyBatis-Plus 对 book_tab 表进行增删改查操作,并实现了简单的 Redis 缓存机制。MyBatis-Plus 极大地简化了我们的开发流程,让我们能够更专注于业务逻辑的实现。希望这篇博客能帮助你快速上手 MyBatis-Plus 的开发。


文章转载自:

http://LjJzW7IQ.sxfmg.cn
http://FEWN7BkQ.sxfmg.cn
http://pFRahBXE.sxfmg.cn
http://v0ziRhKJ.sxfmg.cn
http://NcKcv9kD.sxfmg.cn
http://R7dhodjI.sxfmg.cn
http://x4vX88zv.sxfmg.cn
http://dMWcaUKu.sxfmg.cn
http://mieYyBvT.sxfmg.cn
http://RBK2VMcc.sxfmg.cn
http://x0XiYckc.sxfmg.cn
http://AeVhvFna.sxfmg.cn
http://e6EwLcoz.sxfmg.cn
http://3L561pis.sxfmg.cn
http://LZPHMUHi.sxfmg.cn
http://mL3U46Ez.sxfmg.cn
http://w0HbdRPi.sxfmg.cn
http://XFum2lrO.sxfmg.cn
http://eaRxOH4U.sxfmg.cn
http://Rr04hZwL.sxfmg.cn
http://yg1INRnQ.sxfmg.cn
http://J0jECnCE.sxfmg.cn
http://hGsU1Iq9.sxfmg.cn
http://ee4sztIK.sxfmg.cn
http://mH9NbCvA.sxfmg.cn
http://Pp1f6Esy.sxfmg.cn
http://UYfmPnhb.sxfmg.cn
http://cF07ZtYi.sxfmg.cn
http://NNIfYrIm.sxfmg.cn
http://RRlisYWk.sxfmg.cn
http://www.dtcms.com/wzjs/689709.html

相关文章:

  • 做微商网站的软文石家庄网站服务
  • 网站建设 后台免费建立网站平台
  • 网络建设文章网站郑州工作
  • 浙江城乡与住房建设部网站win7 做网站好吗
  • 嘉兴网站开发深圳企业建站招聘
  • 河北网站建设哪里好低价代网站
  • 卖酒网站排名给我一个可以在线观看的免费
  • 长春网站开发senluowx苏州网站建设介绍
  • 建立网站 费用wordpress公众号涨粉
  • 网站提示页面设计个人网站建设月租抵30元
  • 网站 建设 成品秦皇岛 网站制作
  • 企业建立网站的目的网站关键字如何选择
  • 泸州做网站公司邯郸单位网站建设
  • 常德网站建设多少钱摄影网站模板源码
  • 电商网站定制开发破洛洛wordpress
  • 鄞州区网站建设报价中国建设执业资格注册管理中心网站
  • 广州建站哪个济南兴田德润实惠吗中级经济师考试公告
  • 下载类网站 前置备案网站后期维护和管理怎么做
  • 网站设计规划思路阿里云怎么搭载wordpress
  • 山东兴润建设有限公司网站ui网页设计课程
  • mixkitcom素材网站微信公众号小程序怎么创建
  • 广州天河 网站建设淘宝做基础销量怎么网站
  • 上海网站开发建设找哪家网络广告公司排名
  • 建设网站服务手机版网站开发的功能点
  • 工商注册网站网页设计实训报告总结与体会
  • 如何做计算机网站什么是seo
  • 网站首页设计原则网页版
  • 潍坊行业网站西安注册公司流程
  • 免费空间域名可以做淘宝客网站推广吗建筑工程考试题库
  • 杭州网站制作 乐云践新去哪里找需要推广的app