2017-07-12

一、数据库

1. sql语句中的中括号的使用

SQL中语句中加中括号是为了防止某些关键字在应用中引起歧义。如果加上中括号,则代表这不是关键字。例如:select select from 表名; VS select [select] from 表名;前者报错。

2. case when的用法。

  1. 基本语法:
CASE [(<属性>)]
  WHEN <条件> THEN <结果>
  WHEN <条件> THEN <结果>
  ...
  [ELSE <结果>]
END
  1. 举例:
--简单case函数
case sex
  when '1' then '男'
  when '2' then '女’
  else '其他' 
end
--case搜索函数
case when sex = '1' then '男'
     when sex = '2' then '女'
     else '其他' 
end 
  1. 更多例子

3. select 1 from table;的用法。参考原文

select 1 from table;
select xxx(表集合中的任意一行) from table;
select * from table
  1. 上面三条语句从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的。
  2. select 1 from中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从效率上来说,1>xxx>*,因为不用查字典表。。
  3. select 1 from table增加临时列,每行的列值是写在select后的数,这条sql语句中是1。
  4. select count(1) from table不管count(a)的a值如何变化,得出的值总是table表的行数。
  5. select sum(1) from table计算临时列的和,也就是说如果1换成2,则结果是2*行数。
  6. 常用例子之一:用来当做判断子查询是否成功(即是否有满足条件的时候使用),比如:select * from ta where exists (select 1 from ta.id = tb.id)

二、postman的使用

  1. 官网,有软件,也有Chrome插件(需墙),用于测试网页接口。下面以MVC为例(今天的工作)简单说说如何使用。
  2. 生成解决方案并跑起来,网页显示是否正常(404)没关系(毕竟如果只有接口项目的话是没网页的)
  3. 在postman里输入url,具体到要测试的接口(要绝对地址,不能使相对地址)。例如MVC下,就具体到对应Controller类下的方法。
  4. 选择方法,主要是post和get方法。这个和接口定义的方法也有关,所以要留意,一般接口都规定了何种方法访问才会响应。关于post和get方法的区别这里不细讲。
  5. get方法没啥好说的,说说post方法吧。如果是post方法,那么在body里选择要提交的数据格式。我所在工作项目主要是json,那么就输入json数据就好了,要注意格式。
  6. 然后点击send即可等待服务器相应处理并返回结果。
  7. 界面不错,post一张图吧~

三、再次理解MVC

  1. 控制器的作用,算是对数据的处理吧。这种处理更多的是把原始数据拿过来,然后分装好后,送到该到的地方。
  2. 模型,数据实体,有什么数据,数据的组织结构如何?这些都是模型下的概念。当然往往会和后台数据库有关联,也往往为控制器所用。算是控制器和后台数据的接口?
  3. 至于视图,其实这个没啥好说的,简单理解就是展现出来的东西。当然它有对数据的引用,毕竟很多东西是动态的,少不了变量。准确来说是因为有交互。可不可以说是一种人机接口呢?
  4. 按照我所工作的的文档规范,写一个接口的顺序最好是(仅仅是对今天的翻盘而已,了解文档啊,需求啊什么的就不说了):根据返回值写实体类(可能会有嵌套,多数以列表的形式嵌套,例如A类会是B类下的一个List数据类型)这个就是存放在Moduls下的-->对应需要数据库取出的数据也封装成一个实体,作为数据库查询结果的返回对象传递给Controller-->Controller就是对这个实体数据进行处理加工封装成需要返回的实体(这个实体也在Moduls下,其实也应该在最前写的,根据文档写就好)。
  5. 难倒不难,关键是要对数据库中的表熟悉,不然你都不知道需要连接那些表。还有就是各种封装好了的函数,例如sql语句的执行等,有时候一个数据类型多次跳转就蒙了,或者说看的时候知道,看了函数名字会知道作用,然而如果自己写的话,写的时候你也许就不知道会有这么一个函数写好了可以直接用。

2017.07.12 Wednesday

原文地址:https://www.cnblogs.com/LittleSec/p/7158434.html