云图网络书签收藏分类管理

2024-08-22 15:18

本文主要是介绍云图网络书签收藏分类管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着书签越来越多,查找起来费劲,做小网站来管理。下面就详细讲下我在做这个小案例的时候遇到的一些问题以及如何搭建的环境。

项目第一节:数据库设计

数据库设计,设想的方式有三种:范式设计 、 反范式设计 、文本搜索引擎lucen设计。

一.范式设计

考虑数据库设计中,有三张表:

                    网页信息表:id 、 网页名 、网页地址 、网页描述

                    标签表:标签id 、 标签名 、 标签下网页数量

                    多对多关系映射表: 映射表id 、 标签表 id 、 网页信息表id

表结构:


create table website(wid varchar(20) primary key,wname varchar(50),whref varchar(100),wdesc varchar(1000)
);create table tag(tid varchar(20) primary key,tagname varchar(50),tcount int(100)
);create table tagweb(twid varchar(20) primary key,tid varchar(20),wid varchar(20)
);
添加主外键约束:

alter table tagweb add constraint FK_Reference_tw_1 foreign key (tid)references tag (tid) on delete restrict on update restrict;
alter table tagweb add constraint FK_Reference_tw_2 foreign key (wid)references website (wid) on delete restrict on update restrict;


二 、反范式设计

考虑数据库设计中有两张表:

                   网页信息表: id 、 网页名称 、网页地址 、网页描述 、网页标签名称

                   标签表:标签id 、 标签名 、 标签下网页的数量

三 、lucent设计方案(单独开一篇再写这个)

项目第二节:环境搭建

在环境搭建中,采用的是maven来管理项目。本项目打算用spring+mybatis+strus2来完成。因此搭建环境就需要多多注意配置文件等等一系列的问题。


在环境搭建中。主要分为三部分:

                                               1 、由mybatis来处理的数据层

                                               2 、有Struts2来完成整合的web层

                                               3 、以及由spring来充当大管家管理AOP切面等的一些处理部分。


一 、mybatis的配置。

 采用mybatis框架主要分为dao包和mapper层。这之间需要用一个配置文件来进行连接。

首先在dao包中,基本的一些语句例如:

public String getWebsiteInfo(String wid){
String result="";
try {
SqlSession session = MybatisUtils.getSqlSession();
result = session.selectOne("精确到配置mapper中方法id", wid);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
其中封装了一个取sqlsession的mybatis的帮助类:

/*** mybatis的帮助类*/
public class MybatisUtils {private static SqlSessionFactory factory;/*** 获取联接工厂* @return* @throws IOException*/public static SqlSessionFactory getFactory() {try {System.out.println("----------------------");if(factory==null){String config="mybatis-config.xml";//流的操作(读取)InputStream iis=Resources.getResourceAsStream(config );//使用xml解析   ,  解析出  mybatis-config.xml中的  数据库的配置项  ,创建数据联接池factory= new SqlSessionFactoryBuilder().build(  iis );//二级缓存是共用了SQLSessionFactory}System.out.println(factory);} catch (IOException e) {e.printStackTrace();}return factory;}public static SqlSession getSqlSession() throws IOException{return getFactory().openSession();}public static SqlSession getSqlSession( boolean isAutoCommit) throws IOException{return getFactory().openSession(isAutoCommit);}
}

在mapper中的查询如下:

<mapper namespace="com.cloud.dao.mapper.WebsiteMapper"><!-- 查信息 --><select id="" parameterType=""resultType=""></select>

在dao与mapper之间的连接配置部分如下:

<properties resource="db.properties"></properties><environments default="development"><environment id="development"><!-- 表示事务管理机制: jdbc --><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="${driver}" /><property name="url" value="${url}" /><property name="username" value="${username}" /><property name="password" value="${password}" /></dataSource></environment></environments><mappers><mapper resource="com/cloud/dao/mapper/WebsiteMapper.xml" /></mappers>

在此数据层环境就全部搭建完成,其余配置在响应操作时在进行搭建。

这篇关于云图网络书签收藏分类管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096637

相关文章

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了