java实现mqtt发布数据,订阅端接收到数据插入到数据库中。
一、 前期准备
mqtt入门的前两个博客请参看
1.01 MQTT小例子-连接
https://blog.youkuaiyun.com/qq_44218805/article/details/113453789
2.02MQTT小例子-java实现接入平台实现发布与订阅功能
https://blog.youkuaiyun.com/qq_44218805/article/details/113835063
二、需求
这里想用java实现,将mqtt订阅到的数据插入到数据库
1.使用最简单的连接方式
2.sql在项目中,下载后,自己导入本地即可。
3.用java发布端发布数据,用java订阅端接收数据,再将其插入到数据库中
三、代码下载
下载地址:
https://gitee.com/nalan-taotao/javamqtttestSingle04
四、代码分析
1.pom.xml
<!-- https://mvnrepository.com/artifact/org.eclipse.paho/org.eclipse.paho.client.mqttv3 -->
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
2.连接类
public class connection {
Connection dbconn = null;
public Connection getConnection2(){
String driver6 = "com.mysql.cj.jdbc.Driver";
String driver5 = "com.mysql.jdbc.Driver";
String dburl = "jdbc:mysql://127.0.0.1:3306/device01?useSSL=false&useUnicode=true&characterEncoding=utf-8";
String username = "root";
String password = "XXX";
try {
//加载驱动
Class.forName(driver5);
//创建连接对象
dbconn = DriverManager.getConnection(dburl,username,password);
return dbconn;
}catch (ClassNotFoundException e){
System.out.println(e);
System.out.println("驱动程序类没有找到");
return null;
}catch (SQLException e1){
System.out.println(e1);
return null;
}
}
public void destroy(){
try{
dbconn.close();
}catch (Exception e2){
e2.printStackTrace();
}
}
}
3.改动注意
添加插入数据库的操作
五、测试
在测试包中进行测试
数据展示
java实现mqtt发布数据,订阅端接收到数据插入到数据库中–不过如此
六、下步目标
可不可以使用数据库连接池实现上面的需求