发表于: 2017-11-22 22:31:47

1 675


任务小结

1. 数据表增删改查的sql语句:

    增:insert into 表名(col1,col2,...) values(value1,value2,...);

    删:delete from 表名 where 条件;

    改:update 表名 set col1=value1,col2=value2,... where 条件

    查:select 查询的字段 from 表名 where 条件;

2. 关于索引:

                                         

       索引相当于一种结构,它可以把该字段的数据单独存放在索引中。由于索引中的数据少,在进行查询时,先通过索引查到符合条件的数据所在的位置,然后再通过数据表查询需要得到的数据。当数据表的结构很大时,如果直接进行查询,由于数据较多,查询速度就会变慢。索引的创建主要是为了提高数据的查询速度。

       当对数据表进行增删改的时候,带有索引的数据表每次更新之后索引中的数据也需要同步更新,而无索引的数据表不存在对索引的更新,所以无索引的数据表在进行增删改时的效率比带索引的要高。

       在进行索引的创建时,在需要经常搜索的列上创建索引,在经常使用where子句的列上创建索引。

3. JDK,Maven在正常安装后需要将安装后的bin目录配置在系统的环境变量PATH下。

    Eclipse中安装外部Maven,window->preference->maven->installations,选择add然后选择外部maven,添加即可。

    本地仓库的配置:user settings的local repository中配置,maven从网上下载的jar包都会下载到配置中的这个目录。

    使用Maven管理项目时需要先在pom.xml文件中导入开发所需要的jar包,maven会自动将这些jar包构建到开发环境中。

    熟悉Maven中compile,clean,install,package,test等命令的含义以及使用。

4. mybatis使用mapper动态代理,可以隐藏dao的实现

         (1)在mapper.xml映射文件中,namespace属性的值应该配置为需要映射的dao的全限定名称

         (2)sql语句的id属性需要和dao接口中抽象方法的名称一致

         (3)将mapper.xml映射文件注册到主配置文件,此外,还需要在主配置文件中注册jdbc连接,别名等等。

5. 使用JdbcTemplate完成对数据库的增删改查

         (1)JdbcTemplate是基于SpringJdbc开发的,所以需要导入spring相关jar包,还有mysql驱动的jar包。

         (2)dao的实现类需要继承JdbcDaoSupport,在做查询的时候需要一个RowMapper的实现类,来封装bean对象的属性和数据表之间的对应关系。

         (3)dataSource,spring中使用DriverManagerDataSource类实现,也可以使用第三方,如c3p0,dbcp等连接池完成。

6. 在eclipse中使用mvn test跑单元测试时,需要加入下列标签,否则无法test成功。

                  

7. 在程序中,层与层之间通过接口来连接,针对不同的业务实现,可以制定不同的实现类。

8.Log4j的配置,以及常用的级别:INFO,DEBUG




Rest是一种设计风格,而不是标准

REST全称Resource REpresentational State Transfer,资源在网络中以某种表现形式进行状态转移。

Resource:资源,即数据。Representational:某种表现形式,比如用JSON、XML、JEPG等。State Transfer:状态变化,通过HTTP动词实现。

REST就是选择通过使用http协议和uri,利用client/server model对资源进行CRUD增删改查操作。

RESTful风格的限制及其好处;

1.客户-服务器(Client-Server)

客户端服务器分离

优点:提高用户界面的便携性(操作简单)

          通过简化服务器提高可伸缩性(高性能,低成本)

          允许组件分别优化(可以让服务端和客户端分别进行改进和优化)

2.无状态(Ststeless)

从客户端的每个请求要包含服务器所需要的所有信息

优点:提高可见性(可以单独考虑每个请求)

          提高了可靠性(更容易从局部故障中修复)

          提高可扩展性(降低了服务器资源使用)

3.缓存(Cachable)

服务器返回信息必须被标记是否可以缓存,如果缓存,客户端可能会重用之前的信息发送请求。

优点:减少交互次数

          减少交互的平均延迟

4.分层系统(Layered System)

系统组件不需要知道与他交流组件之外的事情。封装服务,引入中间层。

优点:限制了系统的复杂性

          提高可扩展性

5.统一接口(Uniform Interface)

优点:提高交互的可见性

          鼓励单独改善组件

6.支持按需代码(Code-On-Demand 可选)

优点:提高可扩展性

https://www.zhihu.com/question/28557115,知乎上关于REST解释的还是蛮详细的。

HTTP Status Code:

https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin&fromid=11296236&fromtitle=HTTP+Status+Code


SpringMVC执行流程示意图

1. 浏览器提交请求到中央调度器

2. 中央调度器直接将请求转给处理器映射器

3. 处理器映射器会根据请求,找到处理该请求的处理器,并将其封装为处理器执行链后返回给中央调度器

4. 中央调取器根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器

5. 处理器适配器调用执行处理器

6. 处理器将处理结果及要跳转的视图封装在一个对象ModelAndView中,并将其返回给处理器适配器

7. 处理器适配器直接将结果返回给中央调度器

8. 中央调度器调用视图解析器,将ModelAndView中的视图名称封装为视图对象

9. 视图解析器将封装了的视图对象返回给中央调度器

10. 中央调度器调用视图对象,让其自己进行渲染,即进行数据填充,形成响应对象

11. 中央调取器响应浏览器



明天计划:学习一下SpringMVC的配置,试着使用SpringMVC完成REST接口


返回列表 返回列表
评论

    分享到