diff --git a/examples/feign-example/pom.xml b/examples/feign-example/pom.xml
new file mode 100644
index 0000000..6ac13fe
--- /dev/null
+++ b/examples/feign-example/pom.xml
@@ -0,0 +1,33 @@
+
+ 4.0.0
+
+ com.chinaunicom.ebtp
+ mall-ebtp-cloud-parent
+ 0.0.1
+
+
+ com.chinaunicom.mall.ebtp.cloud
+ feign-example
+ 0.0.1-SNAPSHOT
+ jar
+
+ feign-example
+
+
+
+ com.chinaunicom.ebtp
+ mall-ebtp-cloud-feign-starter
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/FeignExampleApplication.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/FeignExampleApplication.java
new file mode 100644
index 0000000..99c592b
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/FeignExampleApplication.java
@@ -0,0 +1,13 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+
+@EnableFeignClients
+@SpringBootApplication
+public class FeignExampleApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(FeignExampleApplication.class, args);
+ }
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/client/JSONPlaceHolderClient.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/client/JSONPlaceHolderClient.java
new file mode 100644
index 0000000..1fc9128
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/client/JSONPlaceHolderClient.java
@@ -0,0 +1,23 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.client;
+
+import java.util.List;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import com.chinaunicom.mall.ebtp.cloud.feign.example.config.ClientConfiguration;
+import com.chinaunicom.mall.ebtp.cloud.feign.example.hystrix.JSONPlaceHolderFallback;
+import com.chinaunicom.mall.ebtp.cloud.feign.example.model.Post;
+
+@FeignClient(value = "jplaceholder", url = "https://jsonplaceholder.typicode.com/", configuration = ClientConfiguration.class, fallback = JSONPlaceHolderFallback.class)
+public interface JSONPlaceHolderClient {
+
+ @RequestMapping(method = RequestMethod.GET, value = "/posts")
+ List getPosts();
+
+ @RequestMapping(method = RequestMethod.GET, value = "/posts/{postId}", produces = "application/json")
+ Post getPostById(@PathVariable("postId") Long postId);
+
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/config/ClientConfiguration.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/config/ClientConfiguration.java
new file mode 100644
index 0000000..4f47799
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/config/ClientConfiguration.java
@@ -0,0 +1,22 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import feign.Logger;
+import feign.codec.ErrorDecoder;
+
+@Configuration
+public class ClientConfiguration {
+
+ @Bean
+ public Logger.Level feignLoggerLevel() {
+ return Logger.Level.FULL;
+ }
+
+ @Bean
+ public ErrorDecoder errorDecoder() {
+ return new CustomErrorDecoder();
+ }
+
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/config/CustomErrorDecoder.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/config/CustomErrorDecoder.java
new file mode 100644
index 0000000..9b97bd2
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/config/CustomErrorDecoder.java
@@ -0,0 +1,23 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.config;
+
+import com.chinaunicom.mall.ebtp.cloud.feign.example.exception.BadRequestException;
+import com.chinaunicom.mall.ebtp.cloud.feign.example.exception.NotFoundException;
+
+import feign.Response;
+import feign.codec.ErrorDecoder;
+
+public class CustomErrorDecoder implements ErrorDecoder {
+
+ @Override
+ public Exception decode(String methodKey, Response response) {
+ switch (response.status()) {
+ case 400:
+ return new BadRequestException();
+ case 404:
+ return new NotFoundException();
+ default:
+ return new Exception("Generic error");
+ }
+ }
+
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/exception/BadRequestException.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/exception/BadRequestException.java
new file mode 100644
index 0000000..ba9ec8c
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/exception/BadRequestException.java
@@ -0,0 +1,22 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.exception;
+
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+public class BadRequestException extends Exception {
+ private static final long serialVersionUID = 1L;
+
+ public BadRequestException(String message) {
+ super(message);
+ }
+
+ public BadRequestException(Throwable cause) {
+ super(cause);
+ }
+
+ @Override
+ public String toString() {
+ return "BadRequestException: " + getMessage();
+ }
+
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/exception/NotFoundException.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/exception/NotFoundException.java
new file mode 100644
index 0000000..b9ff7d2
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/exception/NotFoundException.java
@@ -0,0 +1,23 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.exception;
+
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor
+public class NotFoundException extends Exception {
+
+ private static final long serialVersionUID = 1L;
+
+ public NotFoundException(String message) {
+ super(message);
+ }
+
+ public NotFoundException(Throwable cause) {
+ super(cause);
+ }
+
+ @Override
+ public String toString() {
+ return "NotFoundException: " + getMessage();
+ }
+
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/hystrix/JSONPlaceHolderFallback.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/hystrix/JSONPlaceHolderFallback.java
new file mode 100644
index 0000000..784edc1
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/hystrix/JSONPlaceHolderFallback.java
@@ -0,0 +1,24 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.hystrix;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.springframework.stereotype.Component;
+
+import com.chinaunicom.mall.ebtp.cloud.feign.example.client.JSONPlaceHolderClient;
+import com.chinaunicom.mall.ebtp.cloud.feign.example.model.Post;
+
+@Component
+public class JSONPlaceHolderFallback implements JSONPlaceHolderClient {
+
+ @Override
+ public List getPosts() {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public Post getPostById(Long postId) {
+ return null;
+ }
+
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/model/Post.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/model/Post.java
new file mode 100644
index 0000000..bbc212c
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/model/Post.java
@@ -0,0 +1,13 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.model;
+
+import lombok.Data;
+
+@Data
+public class Post {
+
+ private String userId;
+ private Long id;
+ private String title;
+ private String body;
+
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/service/JSONPlaceHolderService.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/service/JSONPlaceHolderService.java
new file mode 100644
index 0000000..a60ea9d
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/service/JSONPlaceHolderService.java
@@ -0,0 +1,13 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.service;
+
+import java.util.List;
+
+import com.chinaunicom.mall.ebtp.cloud.feign.example.model.Post;
+
+public interface JSONPlaceHolderService {
+
+ List getPosts();
+
+ Post getPostById(Long id);
+
+}
diff --git a/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/service/impl/JSONPlaceHolderServiceImpl.java b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/service/impl/JSONPlaceHolderServiceImpl.java
new file mode 100644
index 0000000..908cd20
--- /dev/null
+++ b/examples/feign-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/feign/example/service/impl/JSONPlaceHolderServiceImpl.java
@@ -0,0 +1,27 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.chinaunicom.mall.ebtp.cloud.feign.example.client.JSONPlaceHolderClient;
+import com.chinaunicom.mall.ebtp.cloud.feign.example.model.Post;
+import com.chinaunicom.mall.ebtp.cloud.feign.example.service.JSONPlaceHolderService;
+
+@Service
+public class JSONPlaceHolderServiceImpl implements JSONPlaceHolderService {
+
+ private @Autowired JSONPlaceHolderClient jsonPlaceHolderClient;
+
+ @Override
+ public List getPosts() {
+ return jsonPlaceHolderClient.getPosts();
+ }
+
+ @Override
+ public Post getPostById(Long id) {
+ return jsonPlaceHolderClient.getPostById(id);
+ }
+
+}
diff --git a/examples/feign-example/src/main/resources/application-feign.yml b/examples/feign-example/src/main/resources/application-feign.yml
new file mode 100644
index 0000000..b39d7e0
--- /dev/null
+++ b/examples/feign-example/src/main/resources/application-feign.yml
@@ -0,0 +1,6 @@
+server:
+ port: 8762
+ max-http-header-size: 1000000
+
+app:
+ id: mall-ebtp-cloud-demo
diff --git a/examples/feign-example/src/main/resources/application.yml b/examples/feign-example/src/main/resources/application.yml
new file mode 100644
index 0000000..1a2bbf8
--- /dev/null
+++ b/examples/feign-example/src/main/resources/application.yml
@@ -0,0 +1,10 @@
+spring:
+ profiles:
+ active: feign
+ application:
+ name: mall-ebtp-cloud-demo
+
+logging:
+ level:
+ root: info
+
\ No newline at end of file
diff --git a/examples/feign-example/src/test/java/com/chinaunicom/mall/ebtp/cloud/feign/example/FeignExampleTest.java b/examples/feign-example/src/test/java/com/chinaunicom/mall/ebtp/cloud/feign/example/FeignExampleTest.java
new file mode 100644
index 0000000..fefaaeb
--- /dev/null
+++ b/examples/feign-example/src/test/java/com/chinaunicom/mall/ebtp/cloud/feign/example/FeignExampleTest.java
@@ -0,0 +1,39 @@
+package com.chinaunicom.mall.ebtp.cloud.feign.example;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.chinaunicom.mall.ebtp.cloud.feign.example.model.Post;
+import com.chinaunicom.mall.ebtp.cloud.feign.example.service.JSONPlaceHolderService;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class FeignExampleTest {
+ private @Autowired JSONPlaceHolderService jsonPlaceHolderService;
+
+ @Test
+ public void whenGetPosts_thenListPostSizeGreaterThanZero() {
+ List posts = jsonPlaceHolderService.getPosts();
+
+ System.out.println(posts.size());
+
+ assertFalse(posts.isEmpty());
+ }
+
+ @Test
+ public void whenGetPostWithId_thenPostExist() {
+ Post post = jsonPlaceHolderService.getPostById(1L);
+
+ System.out.println(post);
+
+ assertNotNull(post);
+ }
+}
diff --git a/examples/mybatis-plus-example/pom.xml b/examples/mybatis-plus-example/pom.xml
new file mode 100644
index 0000000..a1dcae1
--- /dev/null
+++ b/examples/mybatis-plus-example/pom.xml
@@ -0,0 +1,41 @@
+
+ 4.0.0
+
+ com.chinaunicom.ebtp
+ mall-ebtp-cloud-parent
+ 0.0.1
+
+
+ com.chinaunicom.mall.ebtp.cloud
+ mybatis-plus-example
+ 0.0.1-SNAPSHOT
+ jar
+
+ mybatis-plus-example
+
+
+
+ com.chinaunicom.ebtp
+ mall-ebtp-cloud-jpa-starter
+
+
+ p6spy
+ p6spy
+
+
+ mysql
+ mysql-connector-java
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/MybatisPlusExampleApplication.java b/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/MybatisPlusExampleApplication.java
new file mode 100644
index 0000000..d4cf4fa
--- /dev/null
+++ b/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/MybatisPlusExampleApplication.java
@@ -0,0 +1,15 @@
+package com.chinaunicom.mall.ebtp.cloud.mybatis.example;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Import;
+
+import com.chinaunicom.mall.ebtp.cloud.jpa.starter.JpaStarterConfiguration;
+
+@SpringBootApplication
+@Import(JpaStarterConfiguration.class)
+public class MybatisPlusExampleApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(MybatisPlusExampleApplication.class, args);
+ }
+}
diff --git a/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/mapper/DemoMapper.java b/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/mapper/DemoMapper.java
new file mode 100644
index 0000000..8a441ab
--- /dev/null
+++ b/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/mapper/DemoMapper.java
@@ -0,0 +1,11 @@
+package com.chinaunicom.mall.ebtp.cloud.mybatis.example.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.chinaunicom.mall.ebtp.cloud.mybatis.example.model.Demo;
+
+@Mapper
+public interface DemoMapper extends BaseMapper {
+
+}
diff --git a/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/model/Demo.java b/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/model/Demo.java
new file mode 100644
index 0000000..c54ef48
--- /dev/null
+++ b/examples/mybatis-plus-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/model/Demo.java
@@ -0,0 +1,21 @@
+package com.chinaunicom.mall.ebtp.cloud.mybatis.example.model;
+
+import java.sql.Date;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+public class Demo {
+
+ private String id;
+ private String col1;
+ private String col2;
+ private String createBy;
+ private Date createTime;
+ private String updateBy;
+ private Date updateTime;
+ private int delFlag;
+
+}
diff --git a/examples/mybatis-plus-example/src/main/resources/application-db.yml b/examples/mybatis-plus-example/src/main/resources/application-db.yml
new file mode 100644
index 0000000..0780924
--- /dev/null
+++ b/examples/mybatis-plus-example/src/main/resources/application-db.yml
@@ -0,0 +1,27 @@
+logging:
+ level:
+ com.chinaunicom.mall.ebtp.cloud.mybatis.example: debug
+
+# database
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ type: com.alibaba.druid.pool.DruidDataSource
+ url: jdbc:mysql://125.32.114.204:13306/ebtp-cloud?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
+ username: mall3-ebtp-dev
+ password: mall3-ebtp-dev
+ filters: stat,wall,log4j
+ maxActive: 20
+ initialSize: 1
+ maxWait: 60000
+ minIdle: 1
+ timeBetweenEvictionRunsMillis: 60000
+ minEvictableIdleTimeMillis: 300000
+ validationQuery: select 'x'
+ testWhileIdle: true
+ testOnBorrow: false
+ testOnReturn: false
+ poolPreparedStatements: true
+ maxOpenPreparedStatements: 20
+ connection-properties: druid.stat.merggSql=ture;druid.stat.slowSqlMillis=50000000
+
\ No newline at end of file
diff --git a/examples/mybatis-plus-example/src/main/resources/application.yml b/examples/mybatis-plus-example/src/main/resources/application.yml
new file mode 100644
index 0000000..8fa83af
--- /dev/null
+++ b/examples/mybatis-plus-example/src/main/resources/application.yml
@@ -0,0 +1,10 @@
+spring:
+ profiles:
+ active: db
+ application:
+ name: mall-ebtp-cloud-demo
+
+logging:
+ level:
+ root: info
+
\ No newline at end of file
diff --git a/examples/mybatis-plus-example/src/main/resources/spy.properties b/examples/mybatis-plus-example/src/main/resources/spy.properties
new file mode 100644
index 0000000..0fbe28d
--- /dev/null
+++ b/examples/mybatis-plus-example/src/main/resources/spy.properties
@@ -0,0 +1,21 @@
+modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
+# 自定义日志打印
+logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
+#日志输出到控制台
+appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
+# 使用日志系统记录 sql
+#appender=com.p6spy.engine.spy.appender.Slf4JLogger
+# 设置 p6spy driver 代理
+deregisterdrivers=true
+# 取消JDBC URL前缀
+useprefix=true
+# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
+excludecategories=info,debug,result,commit,resultset
+# 日期格式
+dateformat=yyyy-MM-dd HH:mm:ss
+# 实际驱动可多个
+#driverlist=org.h2.Driver
+# 是否开启慢SQL记录
+outagedetection=true
+# 慢SQL记录标准 2 秒
+outagedetectioninterval=2
diff --git a/examples/mybatis-plus-example/src/test/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/MybatisPlusExampleTest.java b/examples/mybatis-plus-example/src/test/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/MybatisPlusExampleTest.java
new file mode 100644
index 0000000..cdc3ca6
--- /dev/null
+++ b/examples/mybatis-plus-example/src/test/java/com/chinaunicom/mall/ebtp/cloud/mybatis/example/MybatisPlusExampleTest.java
@@ -0,0 +1,116 @@
+package com.chinaunicom.mall.ebtp.cloud.mybatis.example;
+
+import org.assertj.core.api.Assertions;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.chinaunicom.mall.ebtp.cloud.mybatis.example.mapper.DemoMapper;
+import com.chinaunicom.mall.ebtp.cloud.mybatis.example.model.Demo;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class MybatisPlusExampleTest {
+
+ private @Autowired DemoMapper mapper;
+
+ /**
+ * 测试插入函数
+ */
+ @Test
+ public void testInsert() {
+ Demo demo = new Demo();
+ demo.setId("10");
+ demo.setCol1("test");
+ demo.setCol2("test01");
+
+ Assertions.assertThat(mapper.insert(demo)).isGreaterThan(0);
+ }
+//
+// /**
+// * 测试删除函数
+// */
+// @Test
+// public void delete() {
+// // 根据属性删除记录
+// mapper.delete(new QueryWrapper().lambda().eq(Demo::getCol1, "test"));
+//
+// Assertions.assertThat(mapper.selectCount(new QueryWrapper().lambda().eq(Demo::getCol1, "test")))
+// .isEqualTo(0);
+// }
+//
+// /**
+// * 测试修改函数
+// */
+// @Test
+// public void update() {
+// // 通过id修改对象信息
+// mapper.updateById(new Demo().setId("1").setCol1("abc"));
+//
+// Assertions.assertThat(mapper.selectById("1").getCol1()).isEqualTo("abc");
+//
+// // 使用条件修改和模板修改
+// mapper.update(new Demo().setCol1("12313"),
+// Wrappers.lambdaUpdate().set(Demo::getCol2, "abc").eq(Demo::getCreateBy, "插入填充44"));
+//
+// Demo demo = mapper.selectOne(new QueryWrapper().lambda().eq(Demo::getCreateBy, "插入填充44"));
+// Assertions.assertThat(demo.getCol1()).isEqualTo("12313");
+// Assertions.assertThat(demo.getCol2()).isEqualTo("abc");
+//
+// // 仅使用条件修改
+// mapper.update(null, Wrappers.lambdaUpdate().set(Demo::getCol2, "col2").eq(Demo::getId, "2"));
+//
+// Assertions.assertThat(mapper.selectById("2").getCol2()).isEqualTo("col2");
+//
+// // 使用自定义查询器就行修改
+// mapper.update(new Demo().setCol2("test03"), new QueryWrapper().lambda().eq(Demo::getId, "3"));
+//
+// Assertions.assertThat(mapper.selectById("3").getCol2()).isEqualTo("test03");
+// }
+//
+// /**
+// * 测试查询方法
+// */
+// @Test
+// public void find() {
+//
+// // 读取指定的属性
+// mapper.selectList(Wrappers.lambdaQuery().select(Demo::getId)).forEach(bean -> {
+// Assertions.assertThat(bean.getId()).isNotNull();
+// Assertions.assertThat(bean.getCol1()).isNull();
+// Assertions.assertThat(bean.getCol2()).isNull();
+// Assertions.assertThat(bean.getCreateBy()).isNull();
+// });
+//
+// // 另一种写法
+// mapper.selectList(new QueryWrapper().select("id", "createBy")).forEach(bean -> {
+// Assertions.assertThat(bean.getId()).isNotNull();
+// Assertions.assertThat(bean.getCol1()).isNull();
+// Assertions.assertThat(bean.getCol2()).isNull();
+// Assertions.assertThat(bean.getCreateBy()).isNotNull();
+// });
+// }
+//
+// /**
+// * 测试排序
+// */
+// @Test
+// public void orderBy() {
+// List list = mapper.selectList(Wrappers.query().orderByDesc("id"));
+// Assertions.assertThat(list).isNotEmpty();
+// }
+//
+// /**
+// * 使用map封装实体对象
+// */
+// @Test
+// public void selectMaps() {
+// List