新闻发布系统mysql语句_新闻发布系统:数据库的编码和ssm环境的搭建

概要

在上一篇博客  新闻发布系统:需求分析以及项目的设计我们对这个系统做了一个整体的分析。本篇的博客主要写ssm环境搭建和数据库的编码。

SSM环境搭建

各种包的功能 :

entity包:里面的类主要的作用是实体类,与数据库中的表一一对应的。

dao包:数据库操作的接口,对表的增删改查等功能。

service包:主要是逻辑层的代码,业务逻辑相关。

web包(大多数定义的是controller层)主要是与前后端的数据交互处理的功能。

mapper文件夹主要是与dao层接口对应的具体的sql语句,一个dao接口对应一个mapper文件。

mybatis是存放的mybatis配置文件。

spring文件夹存放spring、springmvc相关的配置文件。

以上的各个包和文件夹,是在配置ssm的时候扫描指定的目录,包名、文件夹名可以不一样,但是在配置中需要做相应的更改。

注:ssm的扫描结构是:resources中的配置文件配置扫描java中的包信息和ssm的基础配置信息。

web.xml中扫描resources中配置文件的配置信息。

1265f6285ca6db2fa5c2837d4f0fba92.png

mybatis的环境搭建

mybatis配置的基础目录。

9bcd1861240cc6a9e4756a6f6b7f45e8.png

dao包和mapper对应关系:

但是实现方式也可以直接在接口函数上添加注解写Sql语句,这个方式比较简单,但是sql语句过于复杂的时候会变得冗长。

ca7c981db941d414f11dc9197465fb2c.png

mybatis和spring整合

扫描包结构示意图。

f26f5de4b65ce96c2d357c96cf0082fd.png

80a86eff651ac85ea02e80b9b258c73a.png

dao、entity、mapper、mybatis扫描示意图。

77e2e28e9d4ad301e918a378f0a6658f.png

service层的包扫描示意图

9c7d9d95d19ab60895fd347285accfc2.png

springmvc配置以及web层的扫描

db043bd3366d625352d6ebfc5cbdf4de.png

9cdca492119c724d4f8493cf3cfb1e2e.png

在很多情况下:post提交会出现乱码,我们在web.xml中配置过滤器,一劳永逸。

50e95462fc1b8c5887e1f79fd913e70e.png

这个ssm的配置这个是比较简单,我在Github中已经建立了一个完整的ssm基础框架,下载只需要将jdbc.properties数据库的数据修改成自己的就可以使用了。

数据库的编码

根据上一篇博客新闻发布系统:需求分析以及项目的设计的表设计来创建数据库表

User表:

--数据库初始化脚本

--创建数据库

CREATE database news;

--使用数据库

USE news;

--创建新闻系统的用户

CREATE TABLE user(

`user_id` bigintNOT NULL AUTO_INCREMENT COMMENT'用户名id',

`user_type` bigintNOT NULL COMMENT'用户类别,0:表示普通用户;1:认证用户;2:管理员',

`user_password`VARCHAR(120)NOT NULL COMMENT'用户密码',

`user_name`VARCHAR(120)NOT NULL COMMENT'用户昵称',

`user_email`VARCHAR (20)NOT NULL COMMENT'邮箱',

`user_age`SMALLINT COMMENT'年龄',

`create_time`timestamp NOT NULL DEFAULTCURRENT_TIMESTAMP COMMENT'创建时间',

PRIMARY KEY (user_id),

KEY idx_user_id(user_id),

KEY idx_user_type(user_type),

KEY idx_create_time(create_time)

)engine=InnoDB auto_INCREMENT=1000DEFAULT CHARSET=utf8 comment='用户表';

news新闻表

--创建新闻表

CREATE TABLE new(

`new_id` bigint NOT NULL AUTO_INCREMENT COMMENT '新闻id',

`category_id` bigint NOT NULL COMMENT '类别id',

`user_id` bigint NOT NULL COMMENT '作者的id',

`title` VARCHAR (100) NOT NULL COMMENT '新闻标题',

`content` TEXT NOT NULL COMMENT '新闻内容',

`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

`key_words` VARCHAR (120) COMMENT '新闻关键字',

PRIMARY KEY (new_id,category_id,user_id),

KEY idx_create_time(create_time)

)engine=InnoDB DEFAULT CHARSET=utf8 comment='新闻表';

comment评论表和category类别表。

--创建评论表

CREATE TABLE new_comment(

`comment_id` bigint NOT NULL AUTO_INCREMENT COMMENT '评论id',

`new_id` bigint NOT NULL COMMENT '新闻的id',

`user_id` bigint NOT NULL COMMENT '评论者的id',

`content` TEXT NOT NULL COMMENT '评论内容',

`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

PRIMARY KEY(comment_id,new_id,user_id),

KEY idx_create_time(create_time)

)engine=InnoDB DEFAULT CHARSET=utf8 comment='评论表';

--创建类别表

CREATE TABLE category(

`category_id` bigint NOT NULL AUTO_INCREMENT COMMENT '类别id',

`category_name` VARCHAR (120) NOT NULL COMMENT '类别名称',

PRIMARY KEY(category_id)

)engine=InnoDB DEFAULT CHARSET=utf8 comment='类别表';

结语

本次实现了smm的搭建和数据库的编码,ssm的搭建其实也就是dao、service、web层的配置调用;在web.xml中添加过滤器对后期post提交乱码的解决。

51569973028f5fdfbd658f626dfc473c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值