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

相关文章

SpringApplication的run方法主要代码步骤

一、图片流程图 二、主要代码  /*** Run the Spring application, creating and refreshing a new* {@link ApplicationContext}.* @param args the application arguments (usually passed from a Java main method)* @return

MyBatis的update语句的返回值改为从匹配数改为受影响的记录数,向mysql连接添加useAffectedRows=true一个参数即可。

1、现象mysql更新update语句执行时,没有内容变更的话,会返回“0”;存在内容更新的话,会返回会返回有内容更新的记录数“1”。  2、mybatis默认情况,没有内容更新也是返回“1”。这么怎么会是”1“,不应该是”0“???其实默认mybatis返回的是 Rows matched “1”,而不是 “ 0 row affected ”中的 “0”。  3、那需要怎么才能让m

2014年5月3日整理java笔试题+答案和自己的代码

一.选择题(每题1分) 1. jsp 有几个内置对象?( )(单选) A 5个 B 6个 C 9个 D 8个 2. 在JAVA中,如何跳出当前的多重嵌套循环?( ) (多选) A break B return C forward Dfinally 3. 四种会话跟踪技术,哪个范围最大?( ) (单选) A page B request C session Dapplication 4. java中

【语音处理】wav转pcm mp3转pcm Java示例代码

【语音处理】wav转pcmJava示例代码 都是作者亲测的代码哦。因各个音频之间存在差异导致转换会存在问题。建议大家自己有习惯看源码去了解音频相关知识的能力。 代码地址:https://gitee.com/xshuai/ai/blob/master/AIDemo/src/main/java/com/xs/audio/tns/WAVConvertPCM.java Wav转PCM   p

【Python3-API】通用文字识别示例代码

Python3-urllib3-API通用OCR示例代码 AccessToken获取可以参考:http://ai.baidu.com/forum/topic/show/497663(Python3-urllib3示例)Python安装什么的。大家百度经验即可 -----------------------------------------------------下面开始代码------

【Python3-API】情感倾向分析示例代码

Python3-urllib3-API情感倾向分析示例代码 AccessToken获取可以参考:http://ai.baidu.com/forum/topic/show/497663(Python3-urllib3示例)Python安装什么的。大家百度经验即可 -----------------------------------------------------下面开始代码-----

Mybatis错误——无效绑定问题:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

在spring + mybatis 整合时候会遇到 上面题目的问题: 如: 1:: http://bbs.csdn.net/topics/390501284 这个 博主遇到的问题 这个解决的问题的方法是: @Repository(value="userMapper") public interface UserMapper {     public List<User> getAll(

看似简单的代码,却暗藏玄机...

点击上方“小麦大叔”,选择“置顶/星标公众号” 福利干货,第一时间送达 能从PC机器编程去看嵌入式问题,那是第一步; 学会用嵌入式编程思想,那是第二步; 用PC的思想和嵌入式的思想结合在一起,应用于实际的项目,那是第三步。 很多朋友都是从PC编程转向嵌入式编程的。 在中国,嵌入式编程的朋友很少是正儿八经从计算机专业毕业的,都是从自动控制啊,电子相关的专业毕业的。 这些童鞋们,实践经验雄厚,但是理

mybaits参数处理map-------mybatis(五)

mybaits参数处理 Mybatis日常业务总我们无论是查询也好,插入也罢,我们一般都需要将实体的多个属性值到映射的sql语句中,比较常见的做法就是将实体属性封装到Map中,mybatis会自动从map中取出对应的属性值构造sql语句。下面为实例代码: 实体类 package model;public class Bloger {private int id;private Str

mybaits基础增删改查-------mybatis(四)

Mybatis的增删改查 mybatis流程: 1 创建实体类及接口方法 2 创建全局配置文件 configuration.xml 3 创建 sql 映射文件 BlogMapper.xml 4 将全局文件中维护 sql映射文件配置 5 调用java API 执行相关sql操作 注意sqlSession是线程非安全的 实体java类: package model;public class Blo