底层NB-IoT数据流的数据库写入

本文主要针对本人在NB-IoT项目中有关数据库的开发和使用,进行一些粗浅的学习指导。欢迎大家在评论区批评指正,感谢!

文章目录

  • 前言
  • 一、建立工程
    • 1.package:model
    • 2.package:dao
    • 3.package:util
    • 4.package:main
  • 二、结果验证

前言

提示:在MySQL数据库(二)服务器特定端口的数据流监听笔记中,已经成功实现了数据库的基本连接,但是没有数据的数据库毫无意义,接下来将要实现数据库的数据添加。


提示:以下是本篇文章正文内容,下面案例可供参考

一、建立工程

依旧是使用eclipse软件

1.package:model

用来构建填写进数据库的类。
例如:需要将学生信息填写进数据库,便可构建Student类。
属性:identity;name;sex
属性设置好后,编写构造方法等

package yzu.java.model;public class Student {int identity;String name;boolean sex;public int getIdentity() {return identity;}public void setIdentity(int identity) {this.identity = identity;}public String getName() {return name;}public void setName(String name) {this.name = name;}public boolean isSex() {return sex;}public void setSex(boolean sex) {this.sex = sex;}public Student(int identity, String name, boolean sex) {super();this.identity = identity;this.name = name;this.sex = sex;}
}

2.package:dao

用来构建对数据库进行增删查改操作的函数。
例如:
需要将学生信息进行数据库添加,便使用sql语句:insert;
需要将学生信息进行数据库删除,便使用sql语句:delete;
需要将学生信息进行数据库查找,便使用sql语句:select;
需要将学生信息进行数据库修改,便使用sql语句:update;

package yzu.java.dao;import java.sql.*;public class StudentDao {public int add(Connection con,Student student)throws Exception{String sql="insert into 数据库表名称 values(?,?,?)";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setInt(1, student.get());pstmt.setString(2, student.getIdentity());pstmt.setBoolean(3, student.isSex());return pstmt.executeUpdate();}
}

3.package:util

用来连接数据库。
在MySQL数据库(二)服务器特定端口的数据流监听笔记中,已经成功实现了数据库的基本连接,本文不做过多赘述。

4.package:main

调用:model、dao、util 以实现数据库的增删查改操作。

package yzu.java.main;import java.net.*;
import java.sql.*;import yzu.java.dao.StudentDao;
import yzu.java.model.Student;
import yzu.java.util.DbUtil;public class PortListener {public static void main(String args[]) throws Exception{DatagramSocket serverSocket = new DatagramSocket(监听端口号);DbUtil dbUtil = new DbUtil();StudentDao studentDao = new StudentDao();byte[] receiveData = new byte[20];Connection con = dbUtil.getCon();if(con !=null){System.out.println("数据库连接成功!");}while(true){//构造数据包接收数据DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);//接收数据serverSocket.receive(receivePacket);//解析数据String sentence = new String( receivePacket.getData());int identity = Integer.parseint(sentence.substring(0, 10));String name=  sentence.substring(10, 14);    boolean sex = Boolean.parseBoolean(sentence.substring(14);   Student student = new Student(identity, name, sex);int i = StudentDao.add(con, student);}}
}

二、结果验证

不断刷新数据库,发现学生数据信息在不断填入表。

MySQL数据库(四)底层NB-IoT数据流的数据库写入相关推荐

  1. mysql隔离级别底层实现_1、深入理解mysql四种隔离级别及底层实现原理(MVCC和锁)...

    一.ACID特性 持久性,我们就不讲了,易懂. 1.原子性 在同一个事务内部的一组操作必须全部执行成功(或者全部失败). 为了保证事务操作的原子性,必须实现基于日志的REDO/UNDO机制:将所有对数 ...

  2. mysql四列数据表代码_MySQL数据库常用代码

    MySQL数据库常用代码启动数据库服务:[ net Start MySQL ] 使用命令登录:[ Mysql -h localhost -u root -p] 关闭数据库服务: [net stop m ...

  3. mysql的四个默认数据库是什么版本,MySQL5.7数据库字符集和排序规则有四个级别的默认设置:服务器,数据库,表和列。...

    MySQL5.7数据库字符集和排序规则有四个级别的默认设置:服务器,数据库,表和列. 最初,服务器字符集和排序规则取决于启动mysqld时使用的选项.可以使用 --character-set-serv ...

  4. mysql 四字节字符_Nextcloud解决数据库四字节字符警告提示

    Nextcloud解决数据库四字节字符警告提示 zym5368 • 2020 年 05 月 23 日 可通过开启MySQL的4字节字符解决问题,具体步骤如下: 确认MySQL或MariaDB版本(下面 ...

  5. mysql实验四数据库查询和视图_数据库-第四次实验报告-视图-t-sql语句

    实验十报告 创建视图 实验目的 1.掌握创建视图的SQL语句的用法. 2.掌握使用企业管管理器创建视图的方法. 3.掌握使用创建视图向导创建视图的方法. 4.掌握查看视图的系统存储过程的用法. 5.掌 ...

  6. 《高性能MySQL 第四版》正式上市

    十年经典再更新 时隔十年,<高性能MySQL>再次出版,这是该系列的第四个版本.过去十年,<高性能MySQL 第三版>已经成为除了文档之外,MySQL相关开发者.DBA等从业者 ...

  7. 巨杉数据库 CTO 王涛:区块链+数据库,底层技术融合是否带来更大爆发?

    巨杉数据库 CTO 王涛:区块链+数据库,底层技术融合是否带来更大爆发? 4 月 22 日,在掘金技术社区主办的沙龙上,巨杉数据库 CTO 王涛以<区块链技术 VS 数据库技术:颠覆还是融合&g ...

  8. mysql killed进程不结束_优秀的数据库产品——MySQL 云数据库服务

    作为一种低成本,高性能,高可靠性和开放源代码的数据库产品,MySQL已在Internet公司中广泛使用. 例如,淘宝有数千个MySQL服务器. 尽管NoSQL在过去两年中发展迅速,新产品层出不穷,但N ...

  9. 《SQL高级应用和数据仓库基础(MySQL版)》学习笔记 ·001【数据库基本概念、MySQL安装与介绍】

    文章目录 一.数据库基本概念 1.DB与DBMS 2.数据库系统的构成 3.数据管理发展过程 4.数据库 5.关系型数据库 二.MySQL安装与卸载 三.与MySQL相关的常用命令 四.MySQL相关 ...

最新文章

  1. SQL Server 2008 下载地址(微软官方网站)
  2. CBM--组件化业务模型简介
  3. 运行c++代码的软件_C语言入门干货:多种系统的C环境设置和简易代码运行
  4. C3P0连接池、DRUID连接池和JdbcTemplate
  5. Java Stream:第2部分,计数始终是计数吗?
  6. ant vue 兼容性问题_ant design for vue 关于table的一些问题
  7. 前端学习(1559):ng-classt隔行变色
  8. 从报表到数据可视化,我用这五步,成功搭建银行大数据架构
  9. python字符串和字节串有什么区别_python – 字符串和字节字符串之间的区别是什么?...
  10. 有哪些可以用来制作历史时间轴的软件?
  11. 【学习笔记】广义逆矩阵及共轭转置求解
  12. 中国土地市场网数据采集爬取landChain抓取Python爬虫
  13. C# asp.net图片拼接方法
  14. 未来已来!域乎“区块链+产业应用赋能精英论坛”成功举办
  15. 基于zookeeper3.4.6的源码研究(三)
  16. js 判断一个 object 对象是否为空
  17. 《番茄工作法图解》书摘
  18. NYOJ有趣的问题(单源最短路径dijkstra)
  19. 扫描电镜图片的Matlab分析,基于Matlab的图像增强与复原技术在SEM图像中的应
  20. a轮融资计划书PPT模板

热门文章

  1. 前端项目的接口管理方案----构思
  2. jenkins配置企业微信机器人通知,自定义通知内容
  3. 张艾迪(创始人): 励志的路上
  4. Suspicious URL pattern: [/druid/**] ,进入不了druid的后台
  5. 《过故人庄》古诗鉴赏
  6. 将base64加密之后的图片文件流写为文件
  7. 【离散数学】二元关系
  8. WordPress不可忽视的面包屑导航SEO优化技巧
  9. Sun ONE 白皮书
  10. es6 去掉空格_ES6之字符串