mysql 连✐接线程被阻塞怎么处理

mysql 连接线程被阻塞怎么处理

1138 浏览 7 回答

mysql 连✐接线程被阻塞怎么处理

初学java的小白接到了项目:JSP页面

谢邀~

针对这个问题,具体的怎么连接数据库,怎么增删查改,这些代码自己用google一下就可以得到答案,这里就不细说;初学者写代码经常会有个问题:把所有代码都写在“一层”里,甚至是一个类、一个方法里。

下面我谈谈自己的建议,如果意见不同,请留言讨论。

什么是MVC

MVC是Model—View—Controler的简称;即模型—视图—控制;MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。

  • 视图: 视图是用户看到并与之交互的界面;视图向用户显示相关的数据,并接受用户的输入;视♨图不进行任何业务逻辑处◙理。

  • 模型: 模型表示业务数据和业务处理;相当于JavaBean;一个模型能为多个视图提供数据。这♨提高了应用程序的重用性

  • 控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求;然后根据处理的结果调用相应的视图来显示处理的结果。

  • MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。

代码如何分层

大概知道什么是MVC了吧,其实就是:对代码分层,各司其职。

现在看看题主的代码怎么写,我就按照我的习惯进行一下分层:

  • JSP能直接访问数据库么?技术上是没问题的,但是我们通常不会这么做。和数据库完成交互的,一般代码里面会有两层:Model和Dao。Model相当于JavaBean,是对数据库表中数据的承载,Dao就是对数据库表的操作。这里可以是JDBC,也可以使用ORM框架。

  • 再往上,我一般会设置单独的Service层,Service会有业务逻辑,可能会调用其他的Service,也可能会调用Dao层✏中的方✂法,也可能是调用其他系统的接口。

  • Service上面,再是Controller层,主要用于接受客户端的数据,并对数据进行简单的校验。(我这样的写法,Service层+Controller层 = MVC中的C)

  • 浏览器(客户端)与C层的交互,会使用的View。

  • 当然,静态变量、配置、工具类等,都会有单独的包,不在这里讨论。

具体的流程

所以具体的一个流程是这样的?例如页面输入用户身份证号,查询用户详细信息:

  • JSP中输入身份证号;

  • Controller层拿到View,对于代码来说就是个Java对象,这一层可以增加验证,比如不能输入空、null或是身份证号规则验证;

  • 传到Service层,这一层这个场景下,没有什么特殊处理;

  • 传到Dao层,查询数据库,返回客户信息:客户姓名-张三,客户性别-M;开始返回;

  • 传回Service层,把M转成“男”(不过经常是在SQL中直接关联字典表了);

  • 传回Controller层,再传回JSP展示。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

原创文章,作者:Ame,如若转载,请注明出处:https://www.lbseo.cn/13915.html