问答社区

问答社区 项目记录

问答社区_第1张图片
image.png

数据库:

一、工具选择

  1. 选用工具:MYSQL,MYSQLWorkbench(可视化操作)
  2. 创建数据库,在workbench中add schema,然后选择字符集为utf-8 ,会自动生成MYSQL语句,点击Apply即创建完成,结果如图:


    问答社区_第2张图片
    image.png

    3.接下来就可以创建数据库中的各种table.

二、以用户表为例,介绍建表过程:

A.创建用户表
1.点击 wenda数据库中的 table,右键创建table,在弹出窗抗中输入表明,列名等信息,勾选相关的属性,PK,主键;NN,not null; AI,自增;……


问答社区_第3张图片
image.png

问答社区_第4张图片
image.png

问答社区_第5张图片
image.png

注:index表示的是索引,是加快数据库搜索的
常见数据类型:DataType


问答社区_第6张图片
image.png

int: 整型;varchar(n): 最大长度为n的字符串
datatime:日期 ;text:大文本,varchar放不下的大文本

三、CRUD 增查删改

MYSQL基础语法


问答社区_第7张图片
基础语法.png

演示:
1.搜索 select
表刚创建时,是空的,我们查看一下,发现表里的数据都是空的


问答社区_第8张图片
init.png

2.插入 insert
问答社区_第9张图片
insert.png

问答社区_第10张图片
where.png

问答社区_第11张图片
order by.png

问答社区_第12张图片
limit.png

3.更新update


问答社区_第13张图片
image.png

4.删除delete
问答社区_第14张图片
image.png

注:像是更新和删除等操作,如果不加where限定,会对整个表进行操作

现在我们已经会创建表了,我们创建一下user表和question表


问答社区_第15张图片
image.png

问答社区_第16张图片
image.png

创建成功。

四、MyBatis集成框架

1.配置文件


image.png

问答社区_第17张图片
image.png

问答社区_第18张图片
image.png

2.定义dao层
DAO层定义操作数据库的接口;比如要操作数据库user表,就建立一个UserDAO,在UserDAO中定义CRUD等操作的接口


问答社区_第19张图片
image.png

这里,我们用了MyBatis的注解方式,@insert等是注解,调用addUser接口时,会调用insert操作,其它操作类似。
3.XML配置
MyBatis写sql可以注解方式,也可以XML文件配置
问答社区_第20张图片
image.png

创建网站的首页

HomeController中写,在index.html中去显示


问答社区_第21张图片
image.png

问答社区_第22张图片
image.png

Velocity的配置


问答社区_第23张图片
image.png

最后写完之后,在浏览器中输入首页地址,得到如图,因为只往数据库中添加了一条问题,所以这里只有一个问题记录。


问答社区_第24张图片
image.png

输入用户1的首页地址


问答社区_第25张图片
image.png

如果输入不存在的用户id,则没有关联的问题显示
问答社区_第26张图片
image.png

你可能感兴趣的:(问答社区)