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;
}
相关推荐
Zz_waiting.2 小时前
统一服务入口-Gateway
java·开发语言·gateway
ada7_2 小时前
LeetCode(python)——49.字母异位词分组
java·python·leetcode
DyLatte2 小时前
AI时代的工作和成长
java·后端·程序员
青春不流名2 小时前
nginx
java
.ZGR.2 小时前
第十六届蓝桥杯省赛 C 组——Java题解1(链表知识点)
java·算法·链表·蓝桥杯
一 乐2 小时前
流浪动物救助|流浪猫狗救助|基于Springboot+vue的流浪猫狗救助平台设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设
Java水解3 小时前
Java基础------真实大厂面试题汇总(含答案)
java·后端·面试
⑩-3 小时前
浅学Java-设计模式
java·开发语言·设计模式
攻心的子乐3 小时前
软考 关于23种设计模式
java·开发语言·设计模式
oak隔壁找我3 小时前
SpringBoot Starter 进阶教程
java·后端·架构