当前位置: 首页 > news >正文

家居企业网站建设服务产品推广网站

家居企业网站建设服务,产品推广网站,360建,网站上怎么做支付接口我们使用 SQLite 来进行对 Exchange, Queue, Binding 的硬盘保存 对 Message 就保存在硬盘的文本中 SQLite 封装 这里是在 application.yaml 中来引进对 SQLite 的封装 spring:datasource:url: jdbc:sqlite:./data/meta.dbusername:password:driver-class-name: org.sqlite.…

我们使用 SQLite 来进行对 Exchange, Queue, Binding 的硬盘保存

对 Message 就保存在硬盘的文本中

SQLite 封装

这里是在 application.yaml 中来引进对 SQLite 的封装

spring:datasource:url: jdbc:sqlite:./data/meta.dbusername:password:driver-class-name: org.sqlite.JDBCmybatis:mapper-locations: classpath:mapper/**Mapper.xml

先进行建表操作: 

 使用一个接口类和对应的 xml 就可以进行对数据库的操作

然后对增删查进行封装

完整代码:

SQliteMapper:

package com.example.mq.mqserver.mapper;import com.example.mq.mqserver.core.Binding;
import com.example.mq.mqserver.core.Exchange;
import com.example.mq.mqserver.core.MSGQueue;import java.util.List;@Mapper //数据持久层
public interface SQLiteMapper {// 建表void createExchangeTable();void createQueueTable();void createBindingTable();// 增删查int insertExchange(Exchange exchange);int deleteExchange(String exchangeName);List<Exchange> selectAllExchange();int insertQueue(MSGQueue queue);int deleteQueue(String queueName);List<MSGQueue> selectAllQueue();int insertBinding(Binding binding);int deleteBinding(Binding binding);List<Binding> selectAllBinding();
}

SQLiteMapper.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mq.mqserver.mapper.SQLiteMapper"><update id="createExchangeTable">create table if not exists exchange (name varchar(50) primary key, durable boolean, type int);</update><update id="createQueueTable">create table if not exists queue(name varchar(50) primary key, durable boolean);</update><update id="createBindingTable">create table if not exists binding(exchangename varchar(50), queuename varchar(50), durable boolean, bindingkey varchar(50));</update><insert id="insertExchange">insert into exchange values(#{name}, #{durable}, #{type});</insert><delete id="deleteExchange">delete from exchange where name = #{exchangeName};</delete><select id="selectAllExchange" resultType="com.example.mq.mqserver.core.Exchange">select * from exchange;</select><insert id="insertQueue">insert into queue values(#{name}, #{durable}); </insert><delete id="deleteQueue">delete form queue where name = #{queueName};</delete><select id="selectAllQueue" resultType="com.example.mq.mqserver.core.MSGQueue">select * from queue;</select><insert id="insertBinding">insert into binding values(#{exchangeName}, #{queueName}, #{durable}, #{bindingKey});</insert><delete id="deleteBinding">delete from binding where exchangename = #{exchangeName} and queueName = #{queueName};</delete><select id="selectAllBinding" resultType="com.example.mq.mqserver.core.Binding">select * from binding;</select></mapper>

然后我们创建一个类来对整合上述的数据库操作

先在 mqserver 中创建一个 datacenter 包, 这个包用来进行所有数据的管理

然后在包里创建一个 DataBaseManager 的类进行数据库操作的整合

DataBaseManager

checkDBExists() 查找数据库是不是存在

createTable() 之前构造好的方法

    public boolean checkDBExists(){File file = new File("./data/meta.db");if(file.exists()){return true;}return false;}private void createTable(){sqLiteMapper.createExchangeTable();sqLiteMapper.createQueueTable();sqLiteMapper.createBindingTable();}

init() 对数据库进行初始化

// 针对数据库进行初始化// 有 data 文件夹的话就不用创建// 没有就进行创建public void init(){if(!checkDBExists()){// 创建文件夹File dataDir = new File("./data");dataDir.mkdirs();// 创建数据表createTable();System.out.println("[DataBaseManager] 数据库初始化完成");}else {System.out.println("[DatBaseManager] 数据库已经存在");}}

然后是增删查:

这里把整个类全部放上来

public class DataBaseManager {@AutowiredSQLiteMapper sqLiteMapper;// 针对数据库进行初始化// 有 data 文件夹的话就不用创建// 没有就进行创建public void init(){if(!checkDBExists()){// 创建文件夹File dataDir = new File("./data");dataDir.mkdirs();// 创建数据表createTable();System.out.println("[DataBaseManager] 数据库初始化完成");}else {System.out.println("[DatBaseManager] 数据库已经存在");}}public boolean checkDBExists(){File file = new File("./data/meta.db");if(file.exists()){return true;}return false;}private void createTable(){sqLiteMapper.createExchangeTable();sqLiteMapper.createQueueTable();sqLiteMapper.createBindingTable();}public void deleteDB(){// 先删除里面的文件File file = new File("./data/meta.db");boolean ret = file.delete();if(ret){System.out.println("[DataBaseManager] 删除数据库文件成功!");}else {System.out.println("[DataBaseManager] 删除数据库文件失败!");}// 再删除文件夹File dataDir = new File("./data");ret = dataDir.delete();if(ret){System.out.println("[DataBaseManager] 删除数据库目录成功");}else {System.out.println("[DataBaseManager] 删除数据库目录失败");}}// 交换机操作public int insertExchange(Exchange exchange){return sqLiteMapper.insertExchange(exchange);}public int deleteExchange(String stingName){return sqLiteMapper.deleteExchange(stingName);}public List<Exchange> selectAllExchanges(){return sqLiteMapper.selectAllExchange();}// 队列操作public int insertQueue(MSGQueue queue){return sqLiteMapper.insertQueue(queue);}public int deleteQueue(String queueName){return sqLiteMapper.deleteQueue(queueName);}public List<MSGQueue> selectAllQueue(){return sqLiteMapper.selectAllQueue();}// 队列操作public int insertBinding(Binding binding){return sqLiteMapper.insertBinding(binding);}public int deleteBinding(Binding binding){return sqLiteMapper.deleteBinding(binding);}public List<Binding> selectAllBinding(){return sqLiteMapper.selectAllBinding();}}

  

http://www.rdtb.cn/news/12435.html

相关文章:

  • wordpress更好域名seo建站教程
  • 网上发布信息的网站怎么做360站长工具seo
  • 莒县做网站北京已感染上千万人
  • Godaddy优惠码网站怎么做的网络营销工资一般多少
  • 适合代码新手做的网站合肥网站优化方案
  • 哪些网站可以做批发衣服山西seo关键词优化软件搜索
  • 做宠物网站需要实现什么功能媒体资源网
  • 太仓手机网站建设价格推广平台有哪些?
  • 网站舆情分析报告模板
  • 网站轮播广告动画怎么做重庆seo教程
  • 重庆交换夫妻做网站广州王牌seo
  • 网站列表功能百度推广优化中心
  • 海外网站加速器百度快速收录
  • 已有网站做app需要多少钱微信群免费推广平台
  • 北京网站设计制作教程个人网站网页首页
  • 如何用Axure做网站添加和删除广东东莞最新情况
  • 上海整站优化公司电话销售外呼系统软件
  • 网站开发有什么好的论坛网络营销与直播电商专业就业前景
  • 电商网站开发报价单如何推广公众号
  • 大宇网络做网站怎么样宁波seo外包服务平台
  • 武汉北京网站建设公司网络推广要求
  • wordpress怎么去掉文本下划线seo自学
  • 我想做个网站找谁做网络宣传方式有哪些
  • 微网站 域名网站的建设流程
  • 网站开发可行性分析报告如何创建网站
  • 网站公司靠什么赚钱网络广告的特点
  • 营销型网站建设 价格网络推广外包公司
  • vue可以做pc端网站体验营销理论
  • 客户说做网站没效果怎么回答好100个免费推广网站
  • 做网站需要什么步骤山西优化公司