1.通用mapper集成 2.单元测试

This commit is contained in:
WangHao 2020-08-08 20:33:26 +08:00
parent 0f4d4f68ca
commit d75969cf9a
13 changed files with 172 additions and 55 deletions

View File

@ -72,6 +72,23 @@
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-generator</artifactId> <artifactId>ruoyi-generator</artifactId>
</dependency> </dependency>
<!-- 单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<!--<scope>test</scope>-->
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies> </dependencies>

View File

@ -8,12 +8,12 @@ import tk.mybatis.spring.annotation.MapperScan;
/** /**
* 启动程序 * 启动程序
* *
* @author * @author
*/ */
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@MapperScan(basePackages = "com.ruoyi.bookmark.mapper") @MapperScan(basePackages = { "com.ruoyi.**.mapper" })
public class RuoYiApplication public class RuoYiApplication
{ {
public static void main(String[] args) public static void main(String[] args)

View File

@ -40,7 +40,7 @@ public class SqBookmarkController extends BaseController
* 测试通用mapper * 测试通用mapper
*/ */
@GetMapping("/selectByID") @GetMapping("/selectByID")
public TableDataInfo selectByID(Long userID) { public TableDataInfo selectByID( Long userID) {
List<SqBookmark> list = sqBookmarkService.selectByID(userID); List<SqBookmark> list = sqBookmarkService.selectByID(userID);
return getDataTable(list); return getDataTable(list);
} }
@ -51,6 +51,7 @@ public class SqBookmarkController extends BaseController
* @return * @return
*/ */
@GetMapping("/selectBymenuIdUserID") @GetMapping("/selectBymenuIdUserID")
@PreAuthorize("@ss.hasPermi('bookmark:bookmark:list')")
public TableDataInfo selectBymenuIdUserID(Long menuID, Long userID) { public TableDataInfo selectBymenuIdUserID(Long menuID, Long userID) {
startPage(); startPage();
List<SqBookmark> list = sqBookmarkService.selectBymenuIdUserID(menuID,userID); List<SqBookmark> list = sqBookmarkService.selectBymenuIdUserID(menuID,userID);

View File

@ -0,0 +1,33 @@
package com.ruoyi.web.test.controller;
import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
/**
* @Auther: Wang
* @Date: 2020/08/08 19:10
* 功能描述:
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class BaseSpringBootTest {
protected static final Logger logger = LoggerFactory.getLogger(BaseSpringBootTest.class);
@Before
public void init() {
logger.info("开始测试...");
}
@After
public void after() {
logger.info("测试结束...");
}
}

View File

@ -0,0 +1,45 @@
package com.ruoyi.web.test.controller;
import com.ruoyi.web.controller.yunbookmark.SqBookmarkController;
import org.assertj.core.api.Assertions;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
/**
* @Auther: Wang
* @Date: 2020/08/08 18:51
* 功能描述: SqBookmark 测试类
*/
public class SqBookmarkTest extends BaseSpringBootTest{
@Autowired
private SqBookmarkController sqBookmarkController;
private MockMvc mockMvc;
@Before
public void setup() {
mockMvc = MockMvcBuilders.standaloneSetup(sqBookmarkController).build();
logger.info("setup().........");
}
@Test
public void demo() throws Exception {
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/bookmark/bookmark/2"))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
logger.info(mvcResult.getResponse().getContentAsString());
}
}

View File

@ -42,7 +42,7 @@ spring:
messages: messages:
# 国际化资源文件路径 # 国际化资源文件路径
basename: i18n/messages basename: i18n/messages
profiles: profiles:
active: druid active: druid
# 文件上传 # 文件上传
servlet: servlet:
@ -63,7 +63,7 @@ spring:
# 端口默认为6379 # 端口默认为6379
port: 6379 port: 6379
# 密码 # 密码
password: password:
# 连接超时时间 # 连接超时时间
timeout: 10s timeout: 10s
lettuce: lettuce:
@ -85,7 +85,7 @@ token:
secret: abcdefghijklmnopqrstuvwxyz secret: abcdefghijklmnopqrstuvwxyz
# 令牌有效期默认30分钟 # 令牌有效期默认30分钟
expireTime: 300 expireTime: 300
# MyBatis配置 # MyBatis配置
mybatis: mybatis:
# 搜索指定包别名 # 搜索指定包别名
@ -98,16 +98,17 @@ mybatis:
#mappers 多个接口时逗号隔开 #mappers 多个接口时逗号隔开
mapper: mapper:
mappers: com.ruoyi.common.mybatisMapper.MyMapper mappers:
not-empty: false - com.ruoyi.common.mybatisMapper.MyMapper
identity: MYSQL not-empty: true
identity: mysql
# PageHelper分页插件 # PageHelper分页插件
pagehelper: pagehelper:
helperDialect: mysql helperDialect: mysql
reasonable: true reasonable: true
supportMethodsArguments: true supportMethodsArguments: true
params: count=countSql params: count=countSql
# Swagger配置 # Swagger配置
swagger: swagger:
@ -117,7 +118,7 @@ swagger:
pathMapping: /dev-api pathMapping: /dev-api
# 防止XSS攻击 # 防止XSS攻击
xss: xss:
# 过滤开关 # 过滤开关
enabled: true enabled: true
# 排除链接(多个用逗号分隔) # 排除链接(多个用逗号分隔)

View File

@ -52,7 +52,7 @@
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
</dependency> </dependency>
<!-- JSON工具类 --> <!-- JSON工具类 -->
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
@ -125,6 +125,7 @@
<version>2.1.5</version> <version>2.1.5</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
/** /**
* Entity基类 * Entity基类
* *
* @author ruoyi * @author ruoyi
*/ */
public class BaseEntity implements Serializable public class BaseEntity implements Serializable

View File

@ -1,11 +1,12 @@
package com.ruoyi.framework.config; package com.ruoyi.framework.config;
import java.util.TimeZone; import java.util.TimeZone;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.EnableAspectJAutoProxy;
import tk.mybatis.spring.annotation.MapperScan;
/** /**
* 程序注解配置 * 程序注解配置

View File

@ -24,7 +24,7 @@ import org.springframework.util.ClassUtils;
/** /**
* Mybatis支持*匹配扫描包 * Mybatis支持*匹配扫描包
* *
* @author ruoyi * @author ruoyi
*/ */
@Configuration @Configuration
@ -105,4 +105,4 @@ public class MyBatisConfig
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
return sessionFactory.getObject(); return sessionFactory.getObject();
} }
} }

View File

@ -1,27 +1,28 @@
package com.ruoyi.bookmark.domain; package com.ruoyi.bookmark.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import javax.persistence.Column;
import javax.persistence.GeneratedValue; import javax.persistence.*;
import javax.persistence.Id; import java.util.Date;
import javax.persistence.Table;
/** /**
* 书签管理对象 sq_bookmark * 书签管理对象 sq_bookmark 不存在的字段注解 @Transient
* *
* @author wanghao 不存在的字段注解 @Transient * @author wanghao
* @date 2020-08-02 * @date 2020-08-02
* @GeneratedValue让通用mapper在执行insert操作之后将自动生成的主键值回写到当前实体对象对应的属性当中
*/ */
@Table(name="sq_bookmark") @Table(name="sq_bookmark")
public class SqBookmark extends BaseEntity public class SqBookmark
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@GeneratedValue(generator = "JDBC")//返回自增长主键 @GeneratedValue(generator = "JDBC")//返回自增长主键
@Column(name = "bookmark_id")
/** $column.columnComment */ /** $column.columnComment */
private Long bookmarkId; private Long bookmarkId;
@ -80,111 +81,125 @@ public class SqBookmark extends BaseEntity
@Column(name = "Start") @Column(name = "Start")
private Integer start; private Integer start;
public void setBookmarkId(Long bookmarkId) /** 创建时间 */
@Transient
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public void setBookmarkId(Long bookmarkId)
{ {
this.bookmarkId = bookmarkId; this.bookmarkId = bookmarkId;
} }
public Long getBookmarkId() public Long getBookmarkId()
{ {
return bookmarkId; return bookmarkId;
} }
public void setUserid(Long userid) public void setUserid(Long userid)
{ {
this.userid = userid; this.userid = userid;
} }
public Long getUserid() public Long getUserid()
{ {
return userid; return userid;
} }
public void setTitle(String title) public void setTitle(String title)
{ {
this.title = title; this.title = title;
} }
public String getTitle() public String getTitle()
{ {
return title; return title;
} }
public void setUrl(String url) public void setUrl(String url)
{ {
this.url = url; this.url = url;
} }
public String getUrl() public String getUrl()
{ {
return url; return url;
} }
public void setUrls(String urls) public void setUrls(String urls)
{ {
this.urls = urls; this.urls = urls;
} }
public String getUrls() public String getUrls()
{ {
return urls; return urls;
} }
public void setDescription(String description) public void setDescription(String description)
{ {
this.description = description; this.description = description;
} }
public String getDescription() public String getDescription()
{ {
return description; return description;
} }
public void setImage(String image) public void setImage(String image)
{ {
this.image = image; this.image = image;
} }
public String getImage() public String getImage()
{ {
return image; return image;
} }
public void setLabel(String label) public void setLabel(String label)
{ {
this.label = label; this.label = label;
} }
public String getLabel() public String getLabel()
{ {
return label; return label;
} }
public void setMenuId(Long menuId) public void setMenuId(Long menuId)
{ {
this.menuId = menuId; this.menuId = menuId;
} }
public Long getMenuId() public Long getMenuId()
{ {
return menuId; return menuId;
} }
public void setZcount(Long zcount) public void setZcount(Long zcount)
{ {
this.zcount = zcount; this.zcount = zcount;
} }
public Long getZcount() public Long getZcount()
{ {
return zcount; return zcount;
} }
public void setIdelete(Integer idelete) public void setIdelete(Integer idelete)
{ {
this.idelete = idelete; this.idelete = idelete;
} }
public Integer getIdelete() public Integer getIdelete()
{ {
return idelete; return idelete;
} }
public void setStart(Integer start) public void setStart(Integer start)
{ {
this.start = start; this.start = start;
} }
public Integer getStart() public Integer getStart()
{ {
return start; return start;
} }

View File

@ -1,15 +1,17 @@
package com.ruoyi.bookmark.mapper; package com.ruoyi.bookmark.mapper;
import java.util.List;
import com.ruoyi.bookmark.domain.SqBookmark; import com.ruoyi.bookmark.domain.SqBookmark;
import com.ruoyi.common.mybatisMapper.MyMapper; import com.ruoyi.common.mybatisMapper.MyMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 书签管理Mapper接口 * 书签管理Mapper接口
* *
* @author wanghao * @author wanghao
* @date 2020-08-02 * @date 2020-08-02F
*/ */
public interface SqBookmarkMapper extends MyMapper<SqBookmark> public interface SqBookmarkMapper extends MyMapper<SqBookmark>
{ {
@ -20,7 +22,7 @@ public interface SqBookmarkMapper extends MyMapper<SqBookmark>
* @param userID 用户ID * @param userID 用户ID
* @return 书签管理 * @return 书签管理
*/ */
public List<SqBookmark> selectBymenuIdUserID(@Param("menuID") Long menuID,@Param("userID") Long userID); public List<SqBookmark> selectBymenuIdUserID(@Param("menuID") Long menuID, @Param("userID") Long userID);
/** /**
* 查询书签管理 * 查询书签管理
* *

View File

@ -2,6 +2,7 @@ package com.ruoyi.bookmark.service.impl;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.bookmark.mapper.SqBookmarkMapper; import com.ruoyi.bookmark.mapper.SqBookmarkMapper;
@ -23,7 +24,7 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
@Override @Override
public List<SqBookmark> selectByID(Long userID) { public List<SqBookmark> selectByID(Long userID) {
return sqBookmarkMapper.selectByExample(userID); return sqBookmarkMapper.selectAll();
} }
/** /**