Springboot使用Mybatisplus:BaseMapper与IService

(一)仅使用BaseMapper中提供方法

1.导入依赖:pom.xml

    <dependencies>
<!--        springboot相关开始-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
<!--        springboot相关结束-->

<!--        mybatisplus+数据库相关开始-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
<!--        mybatisplus+数据库相关结束-->

<!--        web项目启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>

2.数据准备:编写数据库及对应的实体类,并连接数据库

在这里插入图片描述

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

连接数据库application.yml

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver

3.编写Mapper接口

接口继承BaseMapper<T>,简易测试:【仅使用BaseMapper中方法可不编写Mapper.xml文件】

mapper接口:

@Repository//@Mapper更专业
public interface UserMapper extends BaseMapper<User> {
}

简易测试:

@SpringBootTest
public class SampleTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<User> userList = userMapper.selectList(null);
        assertEquals(5, userList.size());
        userList.forEach(System.out::println);
    }

    @Test
    public void test02(){
        QueryWrapper<User> queryWrapper=new QueryWrapper<>();
        queryWrapper.ge("age",20)
                .le("id",4);
        List<User> users = userMapper.selectList(queryWrapper);
        for (User user : users) {
            System.out.println(user);
        }
    }

(二)自定义 非BaseMapper中方法操作数据库

在(一)的完全基础上:

1.在Mapper接口声明自定义的方法:

@Repository
public interface UserMapper extends BaseMapper<User> {
    User selectUserById(Integer id);
}

2.编写对应的Mapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chen.mapper.UserMapper">
    <select id="selectUserById" parameterType="int" resultType="com.chen.pojo.User">
        select * from user
        where id=#{id}
    </select>
</mapper>

3.在application.yml的mybatisplus相关配置中声明Mapper.xml文件所在位置

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver


mybatis-plus:
  mapper-locations: classpath:/mapper/*Mapper.xml

4.简易测试

@Autowired
private UserMapper userMapper;

@Test
public void test03(){
    User user = userMapper.selectUserById(3);
    System.out.println(user);
}

(三)使用IService

在一的基础上:

1.编写Service接口继承IService<T>

public interface UserSerivce extends IService<User> {
}

2.编写实现类UserServiceImpl

继承ServiceImpl<M extends BaseMapper<T>, T>,并实现UserService

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserSerivce {

}

3.编写controller层,进行测试

@RestController
public class TestController {
    @Autowired
    UserServiceImpl userServiceImpl;
    @RequestMapping("/select")
    public List<User> select(){
        return userServiceImpl.list();
    }
}
  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值