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

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

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


前言

提示:在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);
       }
    }
}

二、结果验证

不断刷新数据库,发现学生数据信息在不断填入表。
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值