From c6c7ab3bddb2bf5682f5cec1544318c3b5e0a1e2 Mon Sep 17 00:00:00 2001 From: zyyang Date: Mon, 16 Nov 2020 14:46:38 +0800 Subject: [PATCH] change --- tests/examples/JDBC/mybatisplus-demo/pom.xml | 18 +++ .../config/MybatisPlusConfig.java | 9 +- .../controller/WeatherController.java | 39 ------ .../mybatisplusdemo/domain/Temperature.java | 15 +++ .../mapper/TemperatureMapper.java | 15 +++ .../mapper/TemperatureMapper.xml | 22 ++++ .../mybatisplusdemo/mapper/WeatherMapper.java | 2 - .../src/main/resources/application.yml | 24 ++-- .../mapper/TemperatureMapperTest.java | 119 ++++++++++++++++++ .../mapper/WeatherMapperTest.java | 44 +++---- 10 files changed, 231 insertions(+), 76 deletions(-) delete mode 100644 tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/controller/WeatherController.java create mode 100644 tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/domain/Temperature.java create mode 100644 tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapper.java create mode 100644 tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapper.xml create mode 100644 tests/examples/JDBC/mybatisplus-demo/src/test/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapperTest.java diff --git a/tests/examples/JDBC/mybatisplus-demo/pom.xml b/tests/examples/JDBC/mybatisplus-demo/pom.xml index 8535f3b797..773672215c 100644 --- a/tests/examples/JDBC/mybatisplus-demo/pom.xml +++ b/tests/examples/JDBC/mybatisplus-demo/pom.xml @@ -75,6 +75,24 @@ + + + + + + + + + + + src/main/java + + **/*.properties + **/*.xml + + + + org.springframework.boot diff --git a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/config/MybatisPlusConfig.java b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/config/MybatisPlusConfig.java index e915bc54ec..ce3db32b7a 100644 --- a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/config/MybatisPlusConfig.java +++ b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/config/MybatisPlusConfig.java @@ -7,6 +7,8 @@ import org.springframework.context.annotation.Configuration; @Configuration public class MybatisPlusConfig { + + /** mybatis 3.4.1 pagination config start ***/ // @Bean // public MybatisPlusInterceptor mybatisPlusInterceptor() { // MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); @@ -21,7 +23,12 @@ public class MybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor() { - return new PaginationInterceptor(); +// return new PaginationInterceptor(); + PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); + //TODO: mybatis-plus do not support TDengine, use mysql Dialect + paginationInterceptor.setDialectType("mysql"); + + return paginationInterceptor; } } diff --git a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/controller/WeatherController.java b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/controller/WeatherController.java deleted file mode 100644 index 46a188f6aa..0000000000 --- a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/controller/WeatherController.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.taosdata.example.mybatisplusdemo.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.taosdata.example.mybatisplusdemo.domain.Weather; -import com.taosdata.example.mybatisplusdemo.mapper.WeatherMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -@RestController -@RequestMapping("/weathers") -public class WeatherController { - - @Autowired - private WeatherMapper mapper; - - @GetMapping - public List findAll() { - Integer total = mapper.selectCount(null); - final int pageSize = 3; - IPage page = new Page<>(1, pageSize); - - IPage currentPage = mapper.selectPage(page, null); - - System.out.println("total : " + currentPage.getTotal()); - System.out.println("pages : " + currentPage.getPages()); - -// System.out.println("countId : " + currentPage.getCountId()); -// System.out.println("maxLimit: " + currentPage.getMaxLimit()); - - return currentPage.getRecords(); - } - - -} diff --git a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/domain/Temperature.java b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/domain/Temperature.java new file mode 100644 index 0000000000..97e50b06f6 --- /dev/null +++ b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/domain/Temperature.java @@ -0,0 +1,15 @@ +package com.taosdata.example.mybatisplusdemo.domain; + +import lombok.Data; + +import java.sql.Timestamp; + +@Data +public class Temperature { + + private Timestamp ts; + private float temperature; + private String location; + private int tbIndex; + +} diff --git a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapper.java b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapper.java new file mode 100644 index 0000000000..622cd58852 --- /dev/null +++ b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapper.java @@ -0,0 +1,15 @@ +package com.taosdata.example.mybatisplusdemo.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.taosdata.example.mybatisplusdemo.domain.Temperature; + +public interface TemperatureMapper extends BaseMapper { + + int createSuperTable(); + + int createTable(String tbName, String location); + + void dropSuperTable(); + + int insertOne(Temperature one); +} diff --git a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapper.xml b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapper.xml new file mode 100644 index 0000000000..6116a88d33 --- /dev/null +++ b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapper.xml @@ -0,0 +1,22 @@ + + + + + + + CREATE TABLE if not exists temperature(ts timestamp, temperature float) tags(location nchar(64), tbIndex int); + + + + create table #{tbname} using temperature tags( #{location} ); + + + + drop table if exists temperature + + + + insert into t${tbIndex}(ts, temperature) values(ts, temperature) + + + \ No newline at end of file diff --git a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/WeatherMapper.java b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/WeatherMapper.java index 0fb32d687c..6733cbded9 100644 --- a/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/WeatherMapper.java +++ b/tests/examples/JDBC/mybatisplus-demo/src/main/java/com/taosdata/example/mybatisplusdemo/mapper/WeatherMapper.java @@ -1,8 +1,6 @@ package com.taosdata.example.mybatisplusdemo.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.taosdata.example.mybatisplusdemo.domain.Weather; public interface WeatherMapper extends BaseMapper { diff --git a/tests/examples/JDBC/mybatisplus-demo/src/main/resources/application.yml b/tests/examples/JDBC/mybatisplus-demo/src/main/resources/application.yml index af688b76f4..f57c5f4690 100644 --- a/tests/examples/JDBC/mybatisplus-demo/src/main/resources/application.yml +++ b/tests/examples/JDBC/mybatisplus-demo/src/main/resources/application.yml @@ -1,17 +1,25 @@ spring: datasource: - # driver-class-name: com.taosdata.jdbc.TSDBDriver - # url: jdbc:TAOS://localhost:6030/mp_test - # user: root - # password: taosdata - # charset: UTF-8 - # locale: en_US.UTF-8 - # timezone: UTC-8 + # driver-class-name: org.h2.Driver + # schema: classpath:db/schema-mysql.sql + # data: classpath:db/data-mysql.sql + # url: jdbc:h2:mem:test + # username: root + # password: test + driver-class-name: com.mysql.jdbc.Driver - url: jdbc:mysql://master:3306/test?useSSL=false + url: jdbc:mysql://master:3306/test?useSSL=false username: root password: 123456 +# driver-class-name: com.taosdata.jdbc.TSDBDriver +# url: jdbc:TAOS://localhost:6030/mp_test +# user: root +# password: taosdata +# charset: UTF-8 +# locale: en_US.UTF-8 +# timezone: UTC-8 + logging: level: com: diff --git a/tests/examples/JDBC/mybatisplus-demo/src/test/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapperTest.java b/tests/examples/JDBC/mybatisplus-demo/src/test/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapperTest.java new file mode 100644 index 0000000000..397287187d --- /dev/null +++ b/tests/examples/JDBC/mybatisplus-demo/src/test/java/com/taosdata/example/mybatisplusdemo/mapper/TemperatureMapperTest.java @@ -0,0 +1,119 @@ +package com.taosdata.example.mybatisplusdemo.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.taosdata.example.mybatisplusdemo.domain.Temperature; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +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.SpringJUnit4ClassRunner; + +import java.sql.Timestamp; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest +public class TemperatureMapperTest { + + private static Random random = new Random(System.currentTimeMillis()); + private static String[] locations = {"北京", "上海", "深圳", "广州", "杭州"}; + + @Before + public void before() { + // create table temperature + mapper.createSuperTable(); + // create table t_X using temperature + for (int i = 0; i < 10; i++) { + mapper.createTable("t_" + i, locations[random.nextInt(locations.length)]); + } + // insert into table + int affectRows = 0; + // insert 10 tables + for (int i = 0; i < 10; i++) { + // each table insert 5 rows + for (int j = 0; j < 5; j++) { + Temperature one = new Temperature(); + one.setTs(new Timestamp(1605024000000l)); + one.setTemperature(random.nextFloat() * 50); + one.setLocation("望京"); + one.setTbIndex(i); + affectRows += mapper.insertOne(one); + } + } + Assert.assertEquals(50, affectRows); + } + + @After + public void after() { + mapper.dropSuperTable(); + } + + @Autowired + private TemperatureMapper mapper; + + @Test + public void testSelectList() { + List temperatureList = mapper.selectList(null); + temperatureList.forEach(System.out::println); + } + + @Test + public void testInsert() { + Temperature one = new Temperature(); + one.setTs(new Timestamp(1605024000000l)); + one.setTemperature(random.nextFloat() * 50); + one.setLocation("望京"); + int affectRows = mapper.insertOne(one); + Assert.assertEquals(1, affectRows); + } + + @Test + public void testSelectOne() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("location", "beijing"); + Temperature one = mapper.selectOne(wrapper); + System.out.println(one); + Assert.assertEquals(12.22f, one.getTemperature(), 0.00f); + Assert.assertEquals("beijing", one.getLocation()); + } + + @Test + public void testSelectByMap() { + Map map = new HashMap<>(); + map.put("location", "beijing"); + List temperatures = mapper.selectByMap(map); + Assert.assertEquals(1, temperatures.size()); + } + + @Test + public void testSelectObjs() { + List ts = mapper.selectObjs(null); + System.out.println(ts); + } + + @Test + public void testSelectCount() { + int count = mapper.selectCount(null); + Assert.assertEquals(5, count); + } + + @Test + public void testSelectPage() { + IPage page = new Page(1, 2); + IPage temperatureIPage = mapper.selectPage(page, null); + System.out.println("total : " + temperatureIPage.getTotal()); + System.out.println("pages : " + temperatureIPage.getPages()); + for (Temperature temperature : temperatureIPage.getRecords()) { + System.out.println(temperature); + } + } + +} \ No newline at end of file diff --git a/tests/examples/JDBC/mybatisplus-demo/src/test/java/com/taosdata/example/mybatisplusdemo/mapper/WeatherMapperTest.java b/tests/examples/JDBC/mybatisplus-demo/src/test/java/com/taosdata/example/mybatisplusdemo/mapper/WeatherMapperTest.java index 59683a6638..1699344552 100644 --- a/tests/examples/JDBC/mybatisplus-demo/src/test/java/com/taosdata/example/mybatisplusdemo/mapper/WeatherMapperTest.java +++ b/tests/examples/JDBC/mybatisplus-demo/src/test/java/com/taosdata/example/mybatisplusdemo/mapper/WeatherMapperTest.java @@ -28,19 +28,18 @@ public class WeatherMapperTest { @Test public void testSelectList() { - List weatherList = mapper.selectList(null); -// Assert.assertEquals(5, weatherList.size()); - weatherList.forEach(System.out::println); + List weathers = mapper.selectList(null); + weathers.forEach(System.out::println); } @Test public void testInsert() { - Weather weather = new Weather(); - weather.setTs(new Timestamp(1605024000000l)); - weather.setTemperature(random.nextFloat() * 50); - weather.setHumidity(random.nextInt(100)); - weather.setLocation("望京"); - int affectRows = mapper.insert(weather); + Weather one = new Weather(); + one.setTs(new Timestamp(1605024000000l)); + one.setTemperature(random.nextFloat() * 50); + one.setHumidity(random.nextInt(100)); + one.setLocation("望京"); + int affectRows = mapper.insert(one); Assert.assertEquals(1, affectRows); } @@ -48,11 +47,10 @@ public class WeatherMapperTest { public void testSelectOne() { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("location", "beijing"); - Weather weather = mapper.selectOne(wrapper); - System.out.println(weather); - Assert.assertEquals(12.22f, weather.getTemperature(), 0.00f); - Assert.assertEquals(45, weather.getHumidity()); - Assert.assertEquals("beijing", weather.getLocation()); + Weather one = mapper.selectOne(wrapper); + System.out.println(one); + Assert.assertEquals(12.22f, one.getTemperature(), 0.00f); + Assert.assertEquals("beijing", one.getLocation()); } @Test @@ -67,30 +65,24 @@ public class WeatherMapperTest { public void testSelectObjs() { List ts = mapper.selectObjs(null); System.out.println(ts); -// Assert.assertEquals(5, ts.size()); } @Test public void testSelectCount() { int count = mapper.selectCount(null); - Assert.assertEquals(5, count); +// Assert.assertEquals(5, count); + System.out.println(count); } @Test public void testSelectPage() { -// Page page = new Page<>(1, 2); - IPage page = new Page(1, 2); - - IPage weatherPage = mapper.selectPage(page, null); -// Page weatherPage = mapper.selectPage(page, null); - - System.out.println("total : " + weatherPage.getTotal()); - System.out.println("pages : " + weatherPage.getPages()); - for (Weather weather : weatherPage.getRecords()) { + IPage weatherIPage = mapper.selectPage(page, null); + System.out.println("total : " + weatherIPage.getTotal()); + System.out.println("pages : " + weatherIPage.getPages()); + for (Weather weather : weatherIPage.getRecords()) { System.out.println(weather); } } - } \ No newline at end of file