mybatis工程需要的pom.xml,以及@Data 、@BeforeEach、@AfterEach 的使用,简化mybatis

"mybatis - XxxMapper.java接口中方法的参数 和 返回值类型,怎样在 XxxMapper.xml 中配置的问题" 这篇文章做一下优化

这个pom.xml文件,就是上面说的这篇文章的父工程的pom.xml,即:下面这个pom.xml 是可以拿来就用的

xml 复制代码
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.atguigu</groupId>
    <artifactId>ssm-mybatis-parts</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>mybatis-base-quick</module>
        <module>mybatis-base-param-input</module>
        <module>mybatis-base-result-output</module>
        <module>mybatis-base-crud</module>
    </modules>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>

        <!-- mybatis依赖 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.11</version>
        </dependency>

        <!-- mysql驱动,mybatis底层依赖jdbc驱动实现,本次不需要导入连接池,mybatis自带 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>

        <!-- junit5测试 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.3.1</version>
        </dependency>

		* 主要说说这个 lombok
        	  配合lombok插件一起使用,可以使用注解@Data给实体类自动添加setter、getter、toString方法
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.28</version>
        </dependency>

    </dependencies>


</project>

上面说的lombokmaven依赖,要与这个插件一起使用才可以哦!!!




再说一下 测试文件src/test/java/com.atguigu.MybatisTest.java

主要是 @BeforeEach、@AfterEach 这两个注解

java 复制代码
package com.atguigu.test;

import com.atguigu.mapper.UserMapper;
import com.atguigu.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import javax.imageio.ImageReader;
import java.io.IOException;
import java.io.InputStream;

    public class MybatisTest {

    private SqlSession sqlSession;

    @BeforeEach // 每次走测试方法之前,先走此初始化方法
    public void before() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        sqlSession = sqlSessionFactory.openSession(true); // 开启自动提交
    }

    @AfterEach // 每次走测试方法之后,都会调用此方法
    public void after(){
        sqlSession.close();
    }

    @Test
    public void testInsert() {
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = new User();
        user.setUsername("root");
        user.setPassword("123456");
        int insert = mapper.insert(user);
        System.out.println("insert= " + insert);
    }

    @Test
    public void testUpdate() {
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = new User();
        user.setId(1);
        user.setUsername("root2");
        user.setPassword("1234562");
        int update = mapper.update(user);
        System.out.println("update= " + update);
    }

    @Test
    public void testDelete() {
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int delete = mapper.delete(1);
        System.out.println("delete= " + delete);
    }

    @Test
    public void testSelectById() {

    }

    @Test
    public void testSelectAll() {

    }
}



还有 @Data 注解

src/main/java/com.atguigu.pojo/User.java

java 复制代码
package com.atguigu.pojo;

import lombok.Data;

@Data 
这个注解可以给实体类自动添加getter、setter、toString方法
public class User {
    private Integer id;
    private String username;
    private String password;
}
相关推荐
FreemanGordon16 分钟前
Java volatile 关键字
java
北京_宏哥17 分钟前
《手把手教你》系列基础篇(九十三)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-上篇(详解教程)
java·前端·selenium
北京_宏哥25 分钟前
《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
java·selenium·前端工程化
当归102435 分钟前
微服务与消息队列RabbitMQ
java·微服务
Lx35237 分钟前
《从头开始学java,一天一个知识点》之:循环结构:for与while循环的使用场景
java·后端
Cache技术分享41 分钟前
15. Java 如何声明一个变量来引用数组
java·前端
雷渊41 分钟前
深入分析理解mysql的MVCC
java·数据库·面试
知其然亦知其所以然42 分钟前
Java 高级面试题:Lock 到底比 synchronized 强在哪?
java·后端·面试
风象南44 分钟前
Spring Boot 的 20个实用技巧
java·spring boot
Java陈序员1 小时前
IDEA 必备插件!轻松搞定 JSON 格式化!
java·json·intellij idea