封装mysql SDK

/*测试代码
char**results;
char**field = new char*[4];
field[0] = new char[64];
field[1] = new char[64];
field[2] = new char[64];
field[3] = NULL;
char*sn = "sn_id";
char*name = "name";
char*electricity = "request_count";
strcpy_s(field[0], 64, sn);
strcpy_s(field[1], 64, name);
strcpy_s(field[2], 64, electricity);

err = seleteData(results, tableName, s_equipment_key, field);
frees(field);
frees(results);
*/
int selete_data(char**&result, char* tableName, char* id, char**field)
{
	MYSQL * sql = get_mysql();
	if (sql == NULL)
	{
		printf("请连接数据库!!!\n");
		return NULL;
	}

	/*----------------------------------------SELECT字符串拼接start--------------------------------------*/
	char* select = "SELECT %s ";
	int length = strlen(select) + strlen(field[0]) - 1;
	char*sentence = (char*)calloc(length, sizeof(char));
	sprintf_s(sentence, length, select, field[0]);

	int count = 0;
	pointer_count((void**)field, count);
	for (int i = 1; i < count; i++)
	{
		select = ",%s ";
		length = strlen(sentence);
		append_new_buffer(sentence, length, select, strlen(select));//SELECT sn_id ,%s 
		length = strlen(sentence) + strlen(field[i]) - 1;
		char*select_ = (char*)calloc(length, sizeof(char));
		sprintf_s(select_, length, sentence, field[i]);SELECT sn_id ,na_id 
		if (sentence != NULL)
		{
			free(sentence); sentence = NULL;
		}
		sentence = select_;
	}
	select = " FROM %s WHERE id='%s'";
	length = strlen(sentence);
	append_new_buffer(sentence, length, select, strlen(select));//SELECT sn_id ,%s 
	length = length + strlen(tableName) + strlen(id) - 3;

	char*sentence_ = (char*)calloc(length, sizeof(char));
	sprintf_s(sentence_, length, sentence, tableName, id);
	if (sentence != NULL) { free(sentence); sentence = NULL; }
	/*-------------------------------------SELECT字符串拼接end-----------------------------------------*/

	int err = mysql_real_query(sql, sentence_, length);
	if (sentence_ != NULL) { free(sentence_); sentence_ = NULL; }
	if (err)
	{
		printf("查询时出错: %s !!!\n", mysql_error(sql));
		return -1;
	}

	MYSQL_RES *m_res = NULL;
	m_res = mysql_store_result(sql);//将结果保存在res结构体中
	//循环打印每行每个字段
	MYSQL_ROW row = NULL;
	row = mysql_fetch_row(m_res);
	if (NULL == row)
	{
		printf("没有查询到对应的数据!!!\n");
		return -1;
	}

	result = (char**)calloc(count + 1, sizeof(char*));
	unsigned int t;
	for (t = 0; t < mysql_num_fields(m_res); t++) {
		int length = strlen(row[t]) + 1;
		result[t] = (char*)calloc(length, sizeof(char));
		strcpy_s(result[t], length, row[t]);
	}
	result[t] = NULL;
	/*for (t = 0; t < count; t++) {
	printf("'%s':%s\n", field[t], result[t]);
	}*/

	mysql_free_result(m_res);

	return 0;
}

这是最初版本。请移步github

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot是一个用于快速开发基于Java的应用程序的开源框架。它提供了标准化的配置和约定,使开发人员能够轻松地构建和部署应用程序。Druid是一个开源的数据库连接池,它提供了高可用性、高性能和监控功能。TDengine是一个高性能、高可用性的开源时间序列数据库,可以用于海量数据的存储和查询。MySQL是一个广泛使用的关系型数据库管理系统。 在Spring Boot中,我们可以使用Druid来封装MySQL和TDengine的连接池。首先,我们需要在项目的pom.xml文件中引入相应的依赖。对于Druid和MySQL,我们可以使用以下依赖: ```xml <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies> ``` 对于TDengine,我们可以使用以下依赖: ```xml <dependencies> <dependency> <groupId>com.taobao</groupId> <artifactId>tdengine-sdk</artifactId> <version>2.0.0</version> </dependency> </dependencies> ``` 接下来,我们需要配置Druid和MySQL的连接信息,我们可以在application.properties或application.yml文件中进行配置。例如,对于MySQL,我们可以使用以下配置: ```yaml spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 对于TDengine,我们可以使用以下配置: ```yaml spring.datasource.url=jdbc:tdengine://localhost:6020/mydatabase spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.alibaba.druid.TDEngineDriver ``` 完成这些配置后,我们可以在Spring Boot应用程序的代码中使用Druid来获取数据库连接。对于MySQL和TDengine,我们可以使用以下示例代码: ```java import com.alibaba.druid.pool.DruidDataSource; public class Example { private DruidDataSource dataSource; public Example() { dataSource = new DruidDataSource(); dataSource.setUrl("jdbc:mysql://localhost:3306/mydatabase"); dataSource.setUsername("root"); dataSource.setPassword("123456"); dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); // 其他配置... } // 使用dataSource获取连接进行操作 } ``` 以上是使用Spring Boot和Druid封装MySQL和TDengine的一种简单方法。通过使用这些封装,我们可以更加方便地在Spring Boot应用程序中使用MySQL和TDengine进行数据存储和查询操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug狂人

让我们和小姐姐唠嗑可以肢愣起来

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值