Mybatis-plus实现简单增删改查

Mybatis-plus实现简单增删改查

本次博客内容,主要是基于spring boot,用Mybatis-plus 来实现简单的增删改查,主要分为mp基础框架搭建和利用苞米豆已近封装好的方法来实现。

搭建mp框架

a) 建立数据库,数据表

b) 创建一个spring boot项目

c) 导入依赖 pom.xml

<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>
    <exclusions>
        <exclusion>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<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>
    <exclusions>
        <exclusion>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
    </exclusions>
</dependency>

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

<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

<!--lombok用来简化实体类-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

d) 修改配置文件application.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

#mybatis 日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#可以看到更清楚的配置信息,一些sql语句等

也可以建立application.yml 文件,与properties文件相同作用,只是在内容部分有些许不同,YAML以数据为中心,比json和xml等更适合配置文件,可以通过以下代码,简单区分不同之处

#####YAML配置示例
application.yml
server:
       port: 8081

application.properties
server.port=8081

######XML配置:
<srever>
    <port>8081</port>
</server>

e) 建立包和实体类bean(entity) —User.java
可以用Lombok注释的方法,简化代码,不用谢get、set等方法

f) 建立包和接口mapper—UserMapper

@Repository//把对象申明一下,交给spring管理
//可以直接继承 苞米豆 提供的接口,实现增删改查
public interface UserMapper extends BaseMapper<User> {
}

g) 编写测试类,可以通过注入mapper,直接调用底层接口

//把mapper注入
@Autowired
private UserMapper userMapper;

//查询user表中所有数据
public void findAll() {
    List<User> users = userMapper.selectList(null);
    System.out.println(users);
}

//添加操作
public void addUser() {
User user = new User();
user.setId(202085);
user.setUsername(“marry”);
user.setPassword(“123456”);

    int insert = userMapper.insert(user);
    System.out.println(insert);
}

增删改查等方法
增加

//添加操作
    public void addUser(){
        User user = new User();
        user.setId(202069);
        user.setUsername("东方不败");
        user.setPassword("873566");

//        user.setCreateTime(new Date());
//        user.setUpdateTime(new Date());
        int insert=userMapper.insert(user);
        System.out.println("insert:"+insert);
        System.out.println(user);
    }

删除

//删除操作
    public void deleteUser(){
        User user = new User();
        userMapper.deleteById(202001) ;

        List<User> users=userMapper.selectList(null);
        System.out.println(users);
    }

修改

public void updateUser(){
        User user = new User();
        //根据id修改name
        user.setId(202001);
        user.setUsername("huahua");

        int row=userMapper.updateById(user);
        System.out.println(row);
        System.out.println(user);
    }

查询

 //多个id的批量查询
    public void testSelectMore(){
        List<User> users = userMapper.selectBatchIds(Arrays.asList(202001, 202002, 202003));
        System.out.println(users);
    }
//根据条件做查询 selectByMap
    public void testSelectByMap(){
        HashMap<String,Object> map = new HashMap<>();
        map.put("username","tom");
        map.put("id",202015);
        List<User> users = userMapper.selectByMap(map);

        users.forEach(System.out::println);
    }
    //分页查询
    public void testPage(){
        //1.创建page对象
        //传入两个参数:当前页 和 每页显示记录数
        Page<User> page = new Page<>(1,3);
        //调用mp分页查询中的方法
        //调用过程中,把分页所有数据封装在 page 对象里面
        userMapper.selectPage(page,null);

        //通过page 对象获取分页数据
        System.out.println(page.getCurrent());
    }

以上就是本篇博客的大概内容,增删改查等基础操作都是通过继承苞米豆提供的接口,底层有一些方法可以供我们使用,同时也简化了我们的一些操作,给我们提供了便利


版权声明:本文为seventeenliu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。