首页 > 其他分享 >SpringBoot 1项目创建及Mybatis-plus实现数据增删改查

SpringBoot 1项目创建及Mybatis-plus实现数据增删改查

时间:2023-10-13 11:25:33浏览次数:32  
标签:SpringBoot userQueryWrapper userMapper 改查 System plus user println out

一. 项目创建及配置

1.项目创建

image

image

点击finish完成创建

  1. pom.xml
加上以下依赖
  <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>
		 <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>
		   <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.49</version>
            <scope>runtime</scope>
        </dependency>
  1. applicatio.yml
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3307/shiro
    username: root
    password: 123
logging:
  level:
    com.mapper: trace
	

image

二、增删改查实现

  1. 实体类 entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("tb_user")
public class User {
    @TableId(value="id",type = IdType.AUTO)
    private Integer id;
    @TableField("username")
    private String username;
    @TableField(value = "password",select = false) //查询密码不显示
    private String password;
    private String gender;
    private String addr;
}
  1. UserMapper

@Mapper
public interface UserMapper extends BaseMapper<User> {
}
  1. test
//insert
    @Test
    void insert(){
        User user =new User(null,"武松","123","男","梁山");
        int insert = userMapper.insert(user);
        System.out.println(insert);
    }
    //update
    @Test
    void updata(){
        User user = userMapper.selectById(1);
        user.setPassword("111");
        int update = userMapper.updateById(user);
        System.out.println(update);
    }
    //delete
    @Test
    void delete(){
        int delete = userMapper.deleteById(7);
        System.out.println(delete);
    }
    //selectOne
    @Test
    void selectOne1(){
        User user = userMapper.selectById(1);
        System.out.println(user);
    }
    //selectAll
    @Test
    void selectAll(){
        Wrapper<User> wrapper = new QueryWrapper<>();
        List<User> users = userMapper.selectList(wrapper);
        System.out.println(users);
    }
   //分页
    @Test
    void page(){
        int pageNo=1;
        int pageSize=3;
        IPage<User> page = new Page<>(pageNo,pageSize);
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        IPage<User> iPage = userMapper.selectPage(page,queryWrapper);
        System.out.println("总页数:"+page.getPages());
        System.out.println("当前页码:"+page.getCurrent());
        System.out.println("每页记录数:"+page.getSize());
        System.out.println("总条数:"+page.getTotal());
        System.out.println("当前页的记录:"+page.getRecords());
    }
	 // 条件查询
    @Test
    void select(){
        QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
/*        userQueryWrapper.lambda().gt(User::getId,3)
                                 .like("username","%宋%");*/
       /* LambdaQueryWrapper<User> userLambdaQueryWrapper = new LambdaQueryWrapper<>();
        userLambdaQueryWrapper.gt(User::getId,3)
                .like(User::getUsername,"%宋%");*/
        userQueryWrapper.gt("id",2)
                        .like("username","%宋%");
        List<User> user = userMapper.selectList(userQueryWrapper);
        System.out.println(user);
    }

    // 分组查询
    @Test
    void group(){
    QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
     userQueryWrapper.select("gender","count(*) as gc")
                    .groupBy("gender");
     List<Map<String,Object>> maps = userMapper.selectMaps(userQueryWrapper);         System.out.println(maps);
    }
    //投影查询
    @Test
    void touying(){
        QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
        userQueryWrapper.select("id,username,gender");
        List<User> user = userMapper.selectList(userQueryWrapper);
        System.out.println(user);
    }

image

image

标签:SpringBoot,userQueryWrapper,userMapper,改查,System,plus,user,println,out
From: https://www.cnblogs.com/oyww-2027/p/17761648.html

相关文章

  • SpringBoot + @Async = 王炸!!
    异步调用几乎是处理高并发Web应用性能问题的万金油,那么什么是“异步调用”?“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。......
  • SpringBoot 快速实现 api 加密,一招搞定!
    在项目中,为了保证数据的安全,我们常常会对传递的数据进行加密。常用的加密算法包括对称加密(AES)和非对称加密(RSA),博主选取码云上最简单的API加密项目进行下面的讲解。项目介绍该项目使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Sprin......
  • mybatisplus根据两个字段进行更新或新增
    注意:使用@Builder注解时,要加上无参构造器,否则无法更新 @Override@TransactionalpublicvoidsaveManufacturerInfo(List<Manufacturer>manufacturerList){List<ManufacturerMap>codeNameMapping=manufacturerList.stream().map(item->ManufacturerMap.......
  • 开源项目 | SpringBoot+XXL-JOB 构建的汽车之家开源的监控平台,支持多种报警消息发送方
     一、项目概述Frostmourne(霜之哀伤)是汽车之家经销商技术部监控系统的开源版本,用于帮助监控几乎所有数据库数据(包括Elasticsearch,Prometheus,SkyWalking,MySql等等)。如果你已经建立起了日志系统,指标体系,却苦恼于没有一个配套监控系统,也许它能帮到你。使用本系统得当,至......
  • Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别
    前言今天给大家分享一个SpringBoot整合Tess4j库实现图片文字识别的小案例,希望xdm喜欢。文末有案例代码的Git地址,可以自己下载了去玩玩儿或继续扩展也行。话不多说,开整吧。什么是Tess4j库先简单给没听过的xdm解释下,这里要分清楚Tesseract和Tess4j的区别。Tesseract是一个......
  • springboot整合jpa sqlite
    前言最近有关项目需要用到SQLITE,我先是使用Mybatis去连接SQLITE,然后发现SQLITE对BLOB支持不好,在网上看到相关教程可以写mapper.xml文件,加一个handler解决BLOB支持的问题,但是又发现Mybatis还对SQLITE的自增主键不支持,不能正常自增主键,而且Mybatis读取几十MB的BLOB文件很慢,最后换到......
  • java项目使用Mybatis-Plus插件,QueryWrapper日期开始-结束范围查询
    1、参数开始日期startTime、结束日期endTime挺好用,开始日期、结束日期当天都包含进去了,如果使用qw.between("create_time",startTime,endTime)方法是不含endTime结束日期当天的qw.apply(bCulresCardMvVO.getStartTime()!=null,"date_format(create_time,......
  • SpringBoot获取Bean的工具类
    1、beanName默认是类名首字母小写下面的类:beanName=bean1@ComponentpublicclassBean1{publicStringgetBean1(){return"Bean1";}}修改beanName下面的类:beanName=bean2New@Component("bean2New")publicclassBean2{......
  • 解决 springboot 2.6.6 版本中内嵌 tomcat 9.0.60 版本 严格执行RFC 3986规范,导致在 G
    项目中get请求:http://domain:port/api/module/function/getList?pageNum=1&pageSize=1000&keyWord=[]&id=;keyWord的参数应该是 keyWord="[]",如果不加双引号,keyWord就变成了数组,后台接口就报错了。调查原因:springboot2.6.6版本中内嵌tomcat9.0.60版本严格执行RFC3986规范......
  • SpringBootCMS漏洞复现分析
    SpringBootCMS,极速开发,动态添加字段,自定义标签,动态创建数据库表并crud数据,数据库备份、还原,动态添加站点(多站点功能),一键生成模板代码,让您轻松打造自己的独立网站,同时也方便二次开发,让您快速搭建个性化独立网站,为您节约更多时间。http://www.jrecms.com环境搭建修改src/main/......