- 将mybatis更换为mybatis-plus
- 修改mapper测试类
This commit is contained in:
yulinling 2025-06-08 22:36:32 +08:00
parent ddf106c2e6
commit 8a6a1edaa8
7 changed files with 62 additions and 48 deletions

View File

@ -1,28 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true"> <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="@122.152.201.90" uuid="a3d85aef-f993-4fcd-8b75-c4caadf67022"> <data-source source="LOCAL" name="workflow@122.152.201.90 [2]" uuid="a3d85aef-f993-4fcd-8b75-c4caadf67022">
<driver-ref>mysql.8</driver-ref> <driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize> <synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver> <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://122.152.201.90:9912</jdbc-url> <jdbc-url>jdbc:mysql://122.152.201.90:9912/workflow</jdbc-url>
<jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.host.port" />
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.container.port" />
</jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
<data-source source="LOCAL" name="workflow@122.152.201.90" uuid="ef18523f-13a8-4f05-b7a1-136f3abe519b">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<imported>true</imported>
<remarks>$PROJECT_DIR$/src/main/resources/application.properties</remarks>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://122.152.201.90:9912/workflow?useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false&amp;autoReconnect=true&amp;failOverReadOnly=false&amp;serverTimezone=GMT</jdbc-url>
<jdbc-additional-properties> <jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.host.port" /> <property name="com.intellij.clouds.kubernetes.db.host.port" />
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" /> <property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.resource.type" value="Deployment" />
<property name="com.intellij.clouds.kubernetes.db.container.port" /> <property name="com.intellij.clouds.kubernetes.db.container.port" />
</jdbc-additional-properties> </jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir> <working-dir>$ProjectFileDir$</working-dir>

View File

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="SqlDialectMappings"> <component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/src/main/java/asia/yulinling/workflow/mapper/UserMapper.java" dialect="GenericSQL" />
<file url="file://$PROJECT_DIR$/src/main/resources/db/data.sql" dialect="MySQL" /> <file url="file://$PROJECT_DIR$/src/main/resources/db/data.sql" dialect="MySQL" />
<file url="file://$PROJECT_DIR$/src/main/resources/db/schema.sql" dialect="MySQL" /> <file url="file://$PROJECT_DIR$/src/main/resources/db/schema.sql" dialect="MySQL" />
<file url="file://$PROJECT_DIR$/src/main/resources/mapper/UserMapper.xml" dialect="MySQL" />
<file url="PROJECT" dialect="MySQL" />
</component> </component>
</project> </project>

15
pom.xml
View File

@ -43,11 +43,6 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId> <artifactId>spring-boot-starter-mail</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId> <artifactId>spring-boot-starter-aop</artifactId>
@ -86,6 +81,16 @@
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.12</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter-test</artifactId>
<version>3.5.12</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>

View File

@ -1,6 +1,7 @@
package asia.yulinling.workflow; package asia.yulinling.workflow;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
@ -8,14 +9,15 @@ import org.springframework.context.ConfigurableApplicationContext;
@SpringBootApplication @SpringBootApplication
@Slf4j @Slf4j
@MapperScan("asia.yulinling.workflow.mapper")
public class WorkFlowMain { public class WorkFlowMain {
public static void main(String[] args) { public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(WorkFlowMain.class, args); ConfigurableApplicationContext context = SpringApplication.run(WorkFlowMain.class, args);
int length = context.getBeanDefinitionCount(); int length = context.getBeanDefinitionCount();
log.trace("Number of beans in application context: " + length); log.trace("Number of beans in application context: {}", length);
log.debug("Number of beans in application context: " + length); log.debug("Number of beans in application context: {}", length);
log.info("Number of beans in application context: " + length); log.info("Number of beans in application context: {}", length);
log.warn("Number of beans in application context: " + length); log.warn("Number of beans in application context: {}", length);
log.error("Number of beans in application context: " + length); log.error("Number of beans in application context: {}", length);
} }
} }

View File

@ -1,6 +1,7 @@
package asia.yulinling.workflow.mapper; package asia.yulinling.workflow.mapper;
import asia.yulinling.workflow.model.entity.User; import asia.yulinling.workflow.model.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -18,15 +19,7 @@ import java.util.List;
*/ */
@Mapper @Mapper
@Component @Component
public interface UserMapper { public interface UserMapper extends BaseMapper<User> {
/**
* 查询所有用户
*
* @return 用户列表
*/
@Select("SELECT * FROM orm_user")
List<User> selectAllUser();
/** /**
* 根据id查询用户 * 根据id查询用户

View File

@ -1,5 +1,9 @@
package asia.yulinling.workflow.model.entity; package asia.yulinling.workflow.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -19,10 +23,12 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@TableName("`orm_user`")
public class User { public class User {
/** /**
* 主键id * 主键id
*/ */
@TableId(type = IdType.AUTO)
private Long id; private Long id;
/** /**
@ -58,20 +64,18 @@ public class User {
/** /**
* 创建时间 * 创建时间
*/ */
@TableField("create_time")
private Date createTime; private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/** /**
* 上次登录时间 * 上次登录时间
*/ */
@TableField("last_login_time")
private Date lastLoginTime; private Date lastLoginTime;
/** /**
* 上次更新时间 * 上次更新时间
*/ */
@TableField("last_update_time")
private Date lastUpdateTime; private Date lastUpdateTime;
} }

View File

@ -1,43 +1,61 @@
package asia.yulinling.workflow.mapper; package asia.yulinling.workflow.mapper;
import asia.yulinling.workflow.WorkFlowMainTests;
import asia.yulinling.workflow.model.entity.User; import asia.yulinling.workflow.model.entity.User;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.SecureUtil;
import com.baomidou.mybatisplus.test.autoconfigure.MybatisPlusTest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.test.annotation.Rollback; import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import static org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace.NONE;
/** /**
* <p> * <p>
* 用户Mapper测试 * 用户Mapper测试
* </p> * </p>
* *
* @author yulinling * @author yulinling
* @since 2025/6/4 * @since 2025/6/4
*/ */
@MybatisPlusTest
@RunWith(SpringRunner.class)
@AutoConfigureTestDatabase(replace = NONE)
@Slf4j @Slf4j
public class UserMapperTest extends WorkFlowMainTests { public class UserMapperTest {
@Autowired @Autowired
private UserMapper userMapper; private UserMapper userMapper;
// @Test
// public void selectAllUser() {
// List<User> users = userMapper.selectAllUser();
// Assert.assertTrue(CollUtil.isNotEmpty(users));
// log.info("users={}", users);
// }
@Test @Test
public void selectAllUser() { public void selectAllUser2() {
List<User> users = userMapper.selectAllUser(); List<User> users = userMapper.selectList(null);
Assert.assertTrue(CollUtil.isNotEmpty(users)); Assert.assertTrue(CollUtil.isNotEmpty(users));
log.info("users={}", users); log.info("users={}", users);
} }
@Test @Test
public void selectUserById() { public void selectUserById() {
User user = userMapper.selectUserById(1L); // User user = userMapper.selectUserById(1L);
User user = userMapper.selectById(1);
Assert.assertNotNull(user); Assert.assertNotNull(user);
log.info("user={}", user); log.info("user={}", user);
} }
@ -59,7 +77,8 @@ public class UserMapperTest extends WorkFlowMainTests {
.lastUpdateTime(new DateTime()) .lastUpdateTime(new DateTime())
.build(); .build();
int i = userMapper.saveUser(user); // int i = userMapper.saveUser(user);
int i = userMapper.insert(user);
Assert.assertEquals(1, i); Assert.assertEquals(1, i);
} }
@ -67,7 +86,8 @@ public class UserMapperTest extends WorkFlowMainTests {
@Transactional @Transactional
@Rollback @Rollback
public void deleteById() { public void deleteById() {
int i = userMapper.deleteById(1L); // int i = userMapper.deleteById(1L);
int i = userMapper.deleteById(1);
Assert.assertEquals(1, i); Assert.assertEquals(1, i);
} }
} }