springBoot-SSMP

首先创建环境

 主要相关依赖 德鲁伊连接池 还有spring-puls

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.8</version>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

配置端口  可以配置80端口 

创建数据库实体类  这里注意一个点 desc是一个关键字 所以定义名字的时候不要有冲突 否则就会 查询不到

package com.cong.pojo;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("book")
public class Book {
    private int id;
    private String type;
    private String name;
    private String descc;
}

创建dao层 使用mybatis - puls

package com.cong.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cong.pojo.Book;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface BookMapper extends BaseMapper<Book> {

}

在测试类中测试

@SpringBootTest
class BootDemo07SsmpApplicationTests {

    @Autowired
    private BookMapper bookMapper;

    @Test
    void contextLoads() {
        Book book = new Book();
        book.setDescc("666");
        book.setName("666");
        book.setType("666");
        bookMapper.insert(book);
    }

    @Test
    public void tt() {
        Book book = bookMapper.selectById(1);
        System.out.println(book);
    }

    @Test
    public void tt1() {
        List<Book> books = bookMapper.selectList(null);
        for (Book book : books) {
            System.out.println(book);
        }

    }

测试分页查询 功能  首先创建mybatis-puls的分页查询配置类

/*
mybatis-plus 自带的分页查询的配置
 */
@Configuration
public class MPConfig {
    @Bean
    public MybatisPlusInterceptor interceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }

}

在测试类中配置

    //分页查询测试
    @Test
    public void tt2() {
        IPage<Book> iPage=new Page<>(1,3);//查询第一页 每一页显示三条数据
        bookMapper.selectPage(iPage,null);
    }

有这么多方法 全部测试一下

 

 

忘了说我的application.yml的配置了


spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/ssmbuild?serverTimezone=UTC
      username: root
      password: 111111


#?????
mybatis-plus:
  global-config:
    db-config:
      id-type: auto

#打印日志
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

 模糊查询 有一点点小瑕疵

 比较厉害的 来了

//上面的那个查询有一点点瑕疵 就是名字打错了 就查不出来
    @Test
    //按条件查询 或者 模糊查询
    public void t31(){
        //采用lambda 表达式
        String name="java";
        LambdaQueryWrapper<Book> bookLambdaQueryWrapper = new LambdaQueryWrapper<>();
        LambdaQueryWrapper<Book> like1 = bookLambdaQueryWrapper.like(Book::getName, name);
        bookMapper.selectList(like1);//需要一个queryWrapper的东西  所以就创建一个
    }

假设传递了一个参数为null 或者空字符串 就完蛋了 

所以要解决这个问题  要添加一个判断

 LambdaQueryWrapper<Book> like1 =
 bookLambdaQueryWrapper.like(name!=null,Book::getName, name);//这里可以写一个条件 就是name不等于空,或者判断这个字符串不为空 String.isNotEmpty(name)
        bookMapper.selectList(like1);//需要一个queryWrapper的东西  所以就创建一个

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值