MVC模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,
用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
最简单的、最经典就是JSP(view) +Servlet(controller) + JavaBean(model)
视图和逻辑隔离开来
- 当控制器收到来自用户的请求
- 控制器调用JavaBean完成业务
- 完成业务后通过控制器跳转JSP页面的方式给用户反馈信息
- JSP个 用户做出响应。
控制器是核心
M(Model) 模型 JavaBean
V(View) 视图 html jsp Thymeleaf volicity freemaker
C(Control) 控制器 Servlet,Controller,Action
JavaBean:一种规范,表达实体和信息的规范,便于封装重用
1、所有属性为private
2、提供默认构造方法
3、提供getter和setter
4、实现serializable接口
三层架构
数据库连接池
数据库连接池作用(线程池作用是一样的)
1、限定数据库的个数,不会导致由于数据库连接过多导致系统运行缓慢或崩溃
2、数据库连接不需要每次都去创建或销毁,节约了资源
3、数据库连接不需要每次都去创建,响应时间更快。
常见数据库连接池:
- C3P0:数据库连接池技术
- Druid:数据库连接池实现技术,由阿里巴巴提供的
Spring JDBC
Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发
1、update():执行DML语句。增、删、改语句
2、query():查询结果,将结果封装为JavaBean对象
query的参数:RowMapper,一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
new BeanPropertyRowMapper<类型>(类型.class)
3、queryForObject:查询结果,将结果封装为对象
一般用于聚合函数的查询
private JdbcTemplate template = new JdbcTemplate(JDBCUtil.getDataSource());
String sql = "select count(*) from user";
Long totalCount = template.queryForObject(sql, Long.class);
String sql = "select id,name,password,email,phone from user limit ?,?";
List
String sql = "delete from user where id=?";
int count = template.update(sql, Integer.parseInt(id));