jdk21+springboot3.x+mybatis-plus+TDengine
注意:如果本地代码和TDengine服务不在同一台服务器,需下载客户端工具,否则通过代码可能无法创建数据源
1、pom依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.5</version>
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.taosdata.jdbc</groupId>
<artifactId>taos-jdbcdriver</artifactId>
<version>3.0.0</version>
</dependency>
yml文件配置
spring:
datasource:
url: jdbc:TAOS://localhost:6030/demo?charset=utf8
username: root
password: taosdata
driver-class-name: com.taosdata.jdbc.TSDBDriver
server:
port: 8080
mybatis-plus:
type-aliases-package: com.hiabr.tdengine
mapper-locations: classpath*:mapper/**/*.xml
configuration:
default-statement-timeout: 120
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
Java代码
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.sql.Timestamp;
@Data
@TableName("t")
public class TableT {
@TableId
private Timestamp ts;
private Integer speed;
}
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hiabr.tdengine.demo.entity.TableT;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TableTDao extends BaseMapper<TableT> {
}
import com.baomidou.mybatisplus.extension.service.IService;
import com.hiabr.tdengine.demo.entity.TableT;
public interface TDengineService extends IService<TableT> {
}
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hiabr.tdengine.demo.TDengineService;
import com.hiabr.tdengine.demo.dao.TableTDao;
import com.hiabr.tdengine.demo.entity.TableT;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: hanwei
* @date: 2025/4/3
*/
@Service
public class TDengineServiceImpl extends ServiceImpl<TableTDao, TableT> implements TDengineService {
}
import com.hiabr.tdengine.demo.entity.TableT;
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("/test")
public class DemoTestController {
@Autowired
private TDengineService tDengineService;
@GetMapping("/get")
public List<TableT> get(){
List<TableT> maps = tDengineService.list();
for (TableT tableT : maps) {
System.out.println(tableT.getSpeed());
}
return maps;
}
}
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan({"com.hiabr.tdengine.demo.dao"})
public class TdengineApplication {
public static void main(String[] args) {
SpringApplication.run(TdengineApplication.class, args);
}
}
启动程序
页面上输入:http://localhost:8080/test/get 回车