云图网络书签收藏分类管理
来源:互联网 发布:九城软件电话 编辑:程序博客网 时间:2024/05/21 07:08
随着书签越来越多,查找起来费劲,做小网站来管理。下面就详细讲下我在做这个小案例的时候遇到的一些问题以及如何搭建的环境。
项目第一节:数据库设计
数据库设计,设想的方式有三种:范式设计 、 反范式设计 、文本搜索引擎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>
在此数据层环境就全部搭建完成,其余配置在响应操作时在进行搭建。
- 云图网络书签收藏分类管理
- 源泉书签,助您管理海量收藏。今日更新【里程碑】支持书签导出功能了,从此不怕网络书签丢失了,随时随地备份您的书签。
- 书签收藏
- 收藏书签
- 放入一些平时收藏的网址(如果支持chrome式的书签管理或折叠式菜单进行分类就好了)
- 管理书签
- 书签管理
- 网络书签
- 我收藏的书签
- 【兴趣书签】无聊收藏
- FireFox火狐不能收藏书签
- Google Chrome 书签管理
- 我的网络书签
- 网络参考 书签
- 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签
- 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com,今日更新:多标签功能已实现
- 换了一个网络书签
- 书签选项卡的分类实现步骤
- 等额本金、等额本息工具类(Java版)
- Thinking in Java 第22章 图形化用户界面 【捕获事件】
- servlet或struts得到带域名路径
- Oracle数据库快速查询重复记录的方法;
- 从Eclipse到AndroidStudio(二)界面介绍
- 云图网络书签收藏分类管理
- nyoj8 一种排序(用set)
- java虚拟机类加载机制 ——类加载的过程
- 聊聊进程异常重启的问题------顺便详解linux句柄泄漏问题的定位(知识点: lsof -p xxx; ll /proc/xxx/fd)
- MyEclipse2014中导入com.sun.management.OperatingSystemMXBean出错和中文乱码解决方案
- 给Eclipse提速的7个技巧
- codis 找不到"golang.org/x/tools/go/vcs"
- java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com
- unity3d计算两物体之间的夹角