首页 > 数据库 >MVC、三层架构、数据库连接池、Spring JDBC

MVC、三层架构、数据库连接池、Spring JDBC

时间:2022-12-17 14:55:39浏览次数:40  
标签:JDBC Spring 数据库 MVC JavaBean sql org 连接池

MVC模式

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,
用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
最简单的、最经典就是JSP(view) +Servlet(controller) + JavaBean(model)
视图和逻辑隔离开来

  1. 当控制器收到来自用户的请求
  2. 控制器调用JavaBean完成业务
  3. 完成业务后通过控制器跳转JSP页面的方式给用户反馈信息
  4. 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、数据库连接不需要每次都去创建,响应时间更快。

常见数据库连接池:

  1. C3P0:数据库连接池技术
  2. Druid:数据库连接池实现技术,由阿里巴巴提供的

Spring JDBC
Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发

1、update():执行DML语句。增、删、改语句
2、query():查询结果,将结果封装为JavaBean对象
query的参数:RowMapper,一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
new BeanPropertyRowMapper<类型>(类型.class)
3、queryForObject:查询结果,将结果封装为对象
一般用于聚合函数的查询

org.projectlombok lombok 1.18.14 provided com.alibaba druid 1.0.9 org.springframework spring-core 4.1.2.RELEASE compile org.springframework spring-jdbc 4.1.2.RELEASE compile org.springframework spring-tx 4.1.2.RELEASE compile org.springframework spring-beans 4.1.2.RELEASE compile commons-logging commons-logging 1.1.1 compile

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 list = template.query(sql, new BeanPropertyRowMapper(User.class), offset, limit);

String sql = "delete from user where id=?";
int count = template.update(sql, Integer.parseInt(id));

标签:JDBC,Spring,数据库,MVC,JavaBean,sql,org,连接池
From: https://www.cnblogs.com/kingwz/p/16988977.html

相关文章

  • 关于PB用JDBC连接MySQL,亲测有效
        以前自学过一段时间的PB,数据窗口让人印象深刻,前段时间,在西瓜视频看到有人录制了PB的教学视频,让我想起以前自学的那段时光,遇到了问题,也不知道问谁,现在网......
  • SpringBoot启动流程
    1.简述Springboot启动是通过Application启动类实现@SpringBootApplication(exclude={MongoAutoConfiguration.class,MongoDataAutoConfiguration.class},......
  • JDBC_API详解
    DiverManager(驱动管理类)作用:①注册驱动②获取数据库链接Connection(数据库连接对象)作用:①获取执行sql的对象②管理事务获取SQL对象事务管理......
  • org.springframework.beans.factory
    FactoryBean......
  • 关于spring---上次忘记保存
    首先是关于ioc里面配置类(xml)的方法这个是在pom.xml里面    这个需要创建一个spring的专属文件在res里面    di使用方法  增加set方法  配置关......
  • JDBC入门
    JDBC快速入门URL路径语法jdbc:mysql://ip地址(域名):端口号/数据库名称如果连接的是本机mysql服务器,并且mysql服务器默认端口是3306,则url可以缩写为:jdbc:mysql:///数......
  • 【SpringBoot】Spring Data Redis封装和Spring Cache
    一、参考资料​​RedisUtil:最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!​​​​SpringCache-简书​​​​redis分布......
  • 【SpringBoot】封装自定义的starter
    一、参考资料​​SpringBoot封装自己的Starter-码农教程​​​​[Gradle]发布构件到本地仓库​​​​Gradle插件之maven-publish:发布androidlibrary到maven仓库-知乎......
  • 【Spring】Spring IOC的原理
    一、参考资料 ​​为什么要有SpringIoc-简书​​​​【狂神说Java】Spring5最新完整教程IDEA版通俗易懂_哔哩哔哩_bilibili​​ ​​SpringFramework中文文档-Core......
  • SpringBoot2.x 优秀开源项目
    前后端分离vue开源项目:项目名开源地址eladmin-web​​https://gitee.com/elunez/eladmin-web​​eladmin​​https://gitee.com/elunez/eladmin​​RuoYi-Vue​​https://gi......