mybatis-plus代码

2024-05-09 14:12
文章标签 代码 mybatis plus

本文主要是介绍mybatis-plus代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目结构

config

package com.example.mpdemo.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @Author Fxdll* @Date 2024/5/8 22:52* @PackageName:com.example.mpdemo.config* @ClassName: MyBatisPlusConfig* @Description: TODO  MybatisPlus分页插件配置* @Version 1.0*/
@Configuration
public class MyBatisPlusConfig {@Beanpublic MybatisPlusInterceptor paginationInterceptor() {//mybatis-plus分页插件拦截器MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();// 添加分页插件 DbType     数据库类型PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);interceptor.addInnerInterceptor(paginationInnerInterceptor);return interceptor;}
}

controller

package com.example.mpdemo.controller;import com.example.mpdemo.entity.Order;
import com.example.mpdemo.mapper.OrderMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** @Author Fxdll* @Date 2024/5/7 23:34* @PackageName:com.example.mpdemo.controller* @ClassNRme: OrderController* @Description: TODO* @Version 1.0*/
@RestController
public class OrderController {@Autowiredprivate OrderMapper orderMapper;@GetMapping("/order/findAll")public List findAll() {List orders = orderMapper.SelectAllOrdersAndUser();return orders;}
}
package com.example.mpdemo.controller;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.example.mpdemo.entity.User;
import com.example.mpdemo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;/*** @Author Fxdll* @Date 2024/5/4 22:52* @PackageName:com.example.mpdemo.controller* @ClassName: UserController* @Description: TODO* @Version 1.0*/
@RestController
public class UserController {@Autowiredprivate UserMapper userMapper;
//0506更新--------------------------------------@GetMapping("/user/findAll")public List<User> query() {
//        List<User> list = userMapper.find();
//        System.out.println(list);
//        return list;return userMapper.SelectAllUserAndOrders();
//        return userMapper.find();}//0508更新------------------------------------------//条件查询@GetMapping("/user/find")public List<User> findByCond() {QueryWrapper<User> queryWrapper = new QueryWrapper();queryWrapper.eq("username","2 ");return userMapper.selectList(queryWrapper);}//分页查询@GetMapping("/user/findByPage")public IPage findByPage() {Page<User> page = new Page<>(0, 2);IPage iPage = userMapper.selectPage(page, null);return iPage;}//    0504更新-------------------------------------------@PostMapping("/user")public String save(User user) {int i = userMapper.insert(user);if (i > 0) {return "插入成功";} else {return "插入失败";}}@PutMapping("/user")public String update(User user) {int i = userMapper.update(user);if (i > 0) {return "更新成功";} else {return "更新失败";}}@DeleteMapping("/user/{id}")public String delete(@PathVariable("id") int id) {int i = userMapper.delete(id);if (i > 0) {return "删除成功";} else {return "删除失败";}}
}

entity

package com.example.mpdemo.entity;import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;/*** @Author Fxdll* @Date 2024/5/7 23:25* @PackageName:com.example.mpdemo.entity* @ClassName: Order* @Description: TODO* @Version 1.0*/
@TableName("T_order")
public class Order {private int id;private String ordertime;private Double total;private int uid;@TableField(exist = false)private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Overridepublic String toString() {return "Order{" +"id=" + id +", ordertime='" + ordertime + '\'' +", total=" + total +", uid=" + uid +", user=" + user +'}';}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getOrdertime() {return ordertime;}public void setOrdertime(String ordertime) {this.ordertime = ordertime;}public Double getTotal() {return total;}public void setTotal(Double total) {this.total = total;}public int getUid() {return uid;}public void setUid(int uid) {this.uid = uid;}
}

 

package com.example.mpdemo.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 org.springframework.core.annotation.Order;import java.util.List;/*** @Author Fxdll* @Date 2024/5/4 23:11* @PackageName:com.example.mpdemo.entity* @ClassName: User* @Description: TODO* @Version 1.0*/@TableName("t_user")
public class User {@TableId(type = IdType.AUTO)private int id;private String username;private String password;private String birthday;
// 描述用户的所有订单    selecet id,username,password,order from t_user;@TableField(exist = false)private List<Order> orders;
//alt+enter 生成getter和setter方法public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday = birthday;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +", birthday='" + birthday + '\'' +", orders=" + orders +'}';}public List<Order> getOrders() {return orders;}public void setOrders(List<Order> orders) {this.orders = orders;}
}

mapper

package com.example.mpdemo.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mpdemo.entity.Order;
import com.example.mpdemo.entity.User;
import org.apache.ibatis.annotations.*;import java.util.List;/*** @Author Fxdll* @Date 2024/5/7 22:53* @PackageName:com.example.mpdemo.mapper* @ClassName: OrderMapper* @Description: TODO* @Version 1.0*/
@Mapper
public interface OrderMapper extends BaseMapper<Order> {//根据用户id查询所有订单@Select("SELECT * FROM t_order WHERE id = #{uid}")List<Order> selectByUid(int uid);//查询所有订单及用户信息@Select("select * from t_order")@Results( {@Result(column = "id", property = "id"),@Result(column = "ordertime", property = "ordertime"),@Result(column = "total", property = "total"),@Result(column = "uid", property = "user", javaType = User.class,//拷贝全路径one = @One(select = "com.example.mpdemo.mapper.UserMapper.selectById")),})List<Order> SelectAllOrdersAndUser();
}
package com.example.mpdemo.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mpdemo.entity.User;
import org.apache.ibatis.annotations.*;import java.util.List;/*** @Author Fxdll* @Date 2024/5/4 22:54* @PackageName:com.example.mpdemo.mapper* @ClassName: UserMapper* @Description: TODO* @Version 1.0*/
//用于操作用户表,Mybatis会根据mapper注解,动态实现UserMapper接口(实现类),动态代理技术//SPring会自动创建usermapper接口实现类对应的实例
@Mapper
public interface UserMapper extends BaseMapper<User> {
//查询所有用户 0507@Select("select * from user")public List<User> find();
//20240506//查询用户,根据用户id查询信息@Select("select * from t_user where id = #{id}")User selectById(int id);//查询用户及所有订单@Select("select * from t_user")//结果集映射,前面是数据库字段,后面是实体类属性 ,类里的字段@Results( {@Result(column = "id", property = "id"),@Result(column = "username", property = "username"),@Result(column = "password", property = "password"),@Result(column = "id", property = "orders", javaType = List.class,//通过OrderMapper的selectByUid方法查询订单 拷贝全路径many = @Many(select = "com.example.mpdemo.mapper.OrderMapper.selectByUid")),})List<User> SelectAllUserAndOrders();//历史202405
//    @Select("select * from user where id = #{id}")@Update("update user set username = #{username},password = #{password},birthday = #{birthday} where id = #{id}")public int update(User user);@Insert("insert into user values(#{id},#{username},#{password},#{birthday})")public int insert(User user);@Delete("delete from user where id = #{id}")public int delete(Integer id);@Select("select * from user where id = #{id}")public User findById(Integer id);}

 application

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

pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>mpdemo</artifactId><version>0.0.1-SNAPSHOT</version><name>mpdemo</name><description>mpdemo</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.7.2</spring-boot.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--mybatis-plus 依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency><!--mysql 依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!--druid 数据连接池 依赖--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.20</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.example.mpdemo.MpdemoApplication</mainClass><skip>true</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

这篇关于mybatis-plus代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973612

相关文章

利用c++判断水仙花数并输出示例代码

《利用c++判断水仙花数并输出示例代码》水仙花数是指一个三位数,其各位数字的立方和恰好等于该数本身,:本文主要介绍利用c++判断水仙花数并输出的相关资料,文中通过代码介绍的非常详细,需要的朋友可以... 以下是使用C++实现的相同逻辑代码:#include <IOStream>#include <vec

Java 接口定义变量的示例代码

《Java接口定义变量的示例代码》文章介绍了Java接口中的变量和方法,接口中的变量必须是publicstaticfinal的,用于定义常量,而方法默认是publicabstract的,必须由实现类... 在 Java 中,接口是一种抽象类型,用于定义类必须实现的方法。接口可以包含常量和方法,但不能包含实例

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

mybatis-plus分表实现案例(附示例代码)

《mybatis-plus分表实现案例(附示例代码)》MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,:本文主要介绍my... 目录文档说明数据库水平分表思路1. 为什么要水平分表2. 核心设计要点3.基于数据库水平分表注意事项示例

Mybatis的mapper文件中#和$的区别示例解析

《Mybatis的mapper文件中#和$的区别示例解析》MyBatis的mapper文件中,#{}和${}是两种参数占位符,核心差异在于参数解析方式、SQL注入风险、适用场景,以下从底层原理、使用场... 目录MyBATis 中 mapper 文件里 #{} 与 ${} 的核心区别一、核心区别对比表二、底

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建