From 8a6a1edaa889ef96ec6dfeb9a2ca434b9f78b076 Mon Sep 17 00:00:00 2001 From: yulinling <2712495353@qq.com> Date: Sun, 8 Jun 2025 22:36:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20-=20=E5=B0=86mybatis=E6=9B=B4=E6=8D=A2?= =?UTF-8?q?=E4=B8=BAmybatis-plus=20-=20=E4=BF=AE=E6=94=B9mapper=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/dataSources.xml | 19 ++-------- .idea/sqldialects.xml | 3 ++ pom.xml | 15 +++++--- .../asia/yulinling/workflow/WorkFlowMain.java | 12 ++++--- .../yulinling/workflow/mapper/UserMapper.java | 11 ++---- .../yulinling/workflow/model/entity/User.java | 14 +++++--- .../workflow/mapper/UserMapperTest.java | 36 ++++++++++++++----- 7 files changed, 62 insertions(+), 48 deletions(-) diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 143c39f..3262045 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -1,28 +1,15 @@ - + mysql.8 true com.mysql.cj.jdbc.Driver - jdbc:mysql://122.152.201.90:9912 - - - - - - $ProjectFileDir$ - - - mysql.8 - true - true - $PROJECT_DIR$/src/main/resources/application.properties - com.mysql.cj.jdbc.Driver - jdbc:mysql://122.152.201.90:9912/workflow?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT + jdbc:mysql://122.152.201.90:9912/workflow + $ProjectFileDir$ diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml index ba4dd71..9bf7c16 100644 --- a/.idea/sqldialects.xml +++ b/.idea/sqldialects.xml @@ -1,7 +1,10 @@ + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 73edb9b..3419cac 100644 --- a/pom.xml +++ b/pom.xml @@ -43,11 +43,6 @@ org.springframework.boot spring-boot-starter-mail - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 3.0.3 - org.springframework.boot spring-boot-starter-aop @@ -86,6 +81,16 @@ lombok true + + com.baomidou + mybatis-plus-spring-boot3-starter + 3.5.12 + + + com.baomidou + mybatis-plus-boot-starter-test + 3.5.12 + org.springframework.boot spring-boot-starter-test diff --git a/src/main/java/asia/yulinling/workflow/WorkFlowMain.java b/src/main/java/asia/yulinling/workflow/WorkFlowMain.java index ee8de92..d7244bc 100644 --- a/src/main/java/asia/yulinling/workflow/WorkFlowMain.java +++ b/src/main/java/asia/yulinling/workflow/WorkFlowMain.java @@ -1,6 +1,7 @@ package asia.yulinling.workflow; import lombok.extern.slf4j.Slf4j; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; @@ -8,14 +9,15 @@ import org.springframework.context.ConfigurableApplicationContext; @SpringBootApplication @Slf4j +@MapperScan("asia.yulinling.workflow.mapper") public class WorkFlowMain { public static void main(String[] args) { ConfigurableApplicationContext context = SpringApplication.run(WorkFlowMain.class, args); int length = context.getBeanDefinitionCount(); - log.trace("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.warn("Number of beans in application context: " + length); - log.error("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.info("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); } } \ No newline at end of file diff --git a/src/main/java/asia/yulinling/workflow/mapper/UserMapper.java b/src/main/java/asia/yulinling/workflow/mapper/UserMapper.java index b5a65f9..fa73c3a 100644 --- a/src/main/java/asia/yulinling/workflow/mapper/UserMapper.java +++ b/src/main/java/asia/yulinling/workflow/mapper/UserMapper.java @@ -1,6 +1,7 @@ package asia.yulinling.workflow.mapper; 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.Param; import org.apache.ibatis.annotations.Select; @@ -18,15 +19,7 @@ import java.util.List; */ @Mapper @Component -public interface UserMapper { - - /** - * 查询所有用户 - * - * @return 用户列表 - */ - @Select("SELECT * FROM orm_user") - List selectAllUser(); +public interface UserMapper extends BaseMapper { /** * 根据id查询用户 diff --git a/src/main/java/asia/yulinling/workflow/model/entity/User.java b/src/main/java/asia/yulinling/workflow/model/entity/User.java index 9a4a8a5..310b659 100644 --- a/src/main/java/asia/yulinling/workflow/model/entity/User.java +++ b/src/main/java/asia/yulinling/workflow/model/entity/User.java @@ -1,5 +1,9 @@ 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.Builder; import lombok.Data; @@ -19,10 +23,12 @@ import java.util.Date; @NoArgsConstructor @AllArgsConstructor @Builder +@TableName("`orm_user`") public class User { /** * 主键id */ + @TableId(type = IdType.AUTO) private Long id; /** @@ -58,20 +64,18 @@ public class User { /** * 创建时间 */ + @TableField("create_time") private Date createTime; - /** - * 更新时间 - */ - private Date updateTime; - /** * 上次登录时间 */ + @TableField("last_login_time") private Date lastLoginTime; /** * 上次更新时间 */ + @TableField("last_update_time") private Date lastUpdateTime; } diff --git a/src/test/java/asia/yulinling/workflow/mapper/UserMapperTest.java b/src/test/java/asia/yulinling/workflow/mapper/UserMapperTest.java index 4e95a0b..e38b535 100644 --- a/src/test/java/asia/yulinling/workflow/mapper/UserMapperTest.java +++ b/src/test/java/asia/yulinling/workflow/mapper/UserMapperTest.java @@ -1,43 +1,61 @@ package asia.yulinling.workflow.mapper; -import asia.yulinling.workflow.WorkFlowMainTests; import asia.yulinling.workflow.model.entity.User; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.util.IdUtil; import cn.hutool.crypto.SecureUtil; +import com.baomidou.mybatisplus.test.autoconfigure.MybatisPlusTest; import lombok.extern.slf4j.Slf4j; import org.junit.Assert; 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.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; 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 java.util.List; +import static org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace.NONE; + /** *

- * 用户Mapper测试 + * 用户Mapper测试 *

* * @author yulinling * @since 2025/6/4 */ +@MybatisPlusTest +@RunWith(SpringRunner.class) +@AutoConfigureTestDatabase(replace = NONE) @Slf4j -public class UserMapperTest extends WorkFlowMainTests { +public class UserMapperTest { @Autowired private UserMapper userMapper; +// @Test +// public void selectAllUser() { +// List users = userMapper.selectAllUser(); +// Assert.assertTrue(CollUtil.isNotEmpty(users)); +// log.info("users={}", users); +// } + @Test - public void selectAllUser() { - List users = userMapper.selectAllUser(); + public void selectAllUser2() { + List users = userMapper.selectList(null); Assert.assertTrue(CollUtil.isNotEmpty(users)); log.info("users={}", users); } @Test public void selectUserById() { - User user = userMapper.selectUserById(1L); +// User user = userMapper.selectUserById(1L); + User user = userMapper.selectById(1); Assert.assertNotNull(user); log.info("user={}", user); } @@ -59,7 +77,8 @@ public class UserMapperTest extends WorkFlowMainTests { .lastUpdateTime(new DateTime()) .build(); - int i = userMapper.saveUser(user); +// int i = userMapper.saveUser(user); + int i = userMapper.insert(user); Assert.assertEquals(1, i); } @@ -67,7 +86,8 @@ public class UserMapperTest extends WorkFlowMainTests { @Transactional @Rollback public void deleteById() { - int i = userMapper.deleteById(1L); +// int i = userMapper.deleteById(1L); + int i = userMapper.deleteById(1); Assert.assertEquals(1, i); } }