news 2026/6/10 4:36:25

SpringBoot 开发第三天 学习内容

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot 开发第三天 学习内容

一、数据层开发核心

1. 数据源自动管理

  • 核心依赖:spring-boot-starter-jdbc+commons-dbcp2+mysql-connector-java
  • 配置方式:YAML 配置数据库连接信息,通过type指定连接池
  • 自动选择规则:优先 HikariDataSource,其次 Commons DBCP2
  • 核心配置:spring.datasource下配置 username、password、url、driver-class-name、type

2. Druid 数据源配置

  • 引入依赖:druid (1.0.9)+log4j (1.2.15)
  • 核心配置:YAML 中指定type: com.alibaba.druid.pool.DruidDataSource,并配置连接池参数(initialSize、maxActive 等)、监控过滤器
  • 配置类:@Configuration+@ConfigurationProperties(prefix = "spring.datasource")注册 Druid 的 DataSource
  • 运行监控:注册StatViewServlet(访问 /druid,配登录账号)和WebStatFilter(排除静态资源),实现数据源 / SQL/Web 监控

3. 整合 JdbcTemplate

  • 自动配置:JdbcTemplateAutoConfiguration自动注入,直接@Autowired使用
  • 核心用法:调用queryForList等方法执行简单 SQL,返回List<Map<String, Object>>
  • 适用场景:简单的增删改查操作

4. 整合 MyBatis(注解版)

  • 核心依赖:mybatis-spring-boot-starter(1.3.1)
  • 核心步骤:配置 Druid 数据源→建表→创建 JavaBean→编写 @Mapper 接口,用@Select/@Insert/@Delete/@Update注解写 SQL
  • 关键配置:@Options(useGeneratedKeys = true, keyProperty = "pid")实现自增主键回显
  • 驼峰映射:配置类中注册ConfigurationCustomizer,开启mapUnderscoreToCamelCase(true)
  • Mapper 扫描:替代 @Mapper,用@MapperScan("包路径")批量扫描 Mapper 接口

5. 整合 MyBatis(配置文件版)

  • 核心文件:创建 mybatis 核心配置文件sqlMapConfig.xml、映射文件XxxMapper.xml(namespace 对应 Mapper 接口)
  • YAML 配置:mybatis下配置config-location(核心配置文件路径)、mapper-locations(映射文件路径)、type-aliases-package(实体类别名包)
  • 适用场景:复杂 SQL、动态 SQL、联表查询

二、企业信息管理系统实战

1. 项目初始化

  • 引入资源:前端页面原型放入 static/templates 目录
  • 核心依赖:整合 Web、Thymeleaf、MyBatis、Druid、Webjars (jQuery)、devtools 热部署

2. SpringMVC 与 Thymeleaf 配置

  • 配置类:实现WebMvcConfigurer,通过addViewControllers实现请求直接映射到模板页面
  • 拦截器:注册登录拦截器,拦截 /**,放行静态资源、/toLogin、/login
  • 批量扫描:配置类上添加@MapperScan扫描 Mapper 接口

3. 数据库与数据源

  • 建表:创建my_user表(pid 自增,含 username、password、p_addr 等字段)
  • 数据源:复用 Druid 配置,编写 DruidConfig 注册 DataSource

4. 分层开发

  • 配置层:MybatisConfig 开启驼峰映射
  • 数据层:编写 MyUserMapper,注解实现增删改查(含登录查询、主键查询)
  • 服务层:创建 MyUserService 接口,定义增删改查 + 登录相关方法(实现类略)

5. 页面与业务实现

  • 模板引擎:Thymeleaf 引入命名空间,用th:text/th:href/th:each/th:value等标签动态渲染
  • 核心页面:登录页、用户列表页、添加页、修改页,实现页面跳转与数据回显
  • 登录逻辑:Controller 接收账号密码,调用 Service 查询,成功则存入 Session,失败返回提示
  • 核心功能:用户增删改查、登录验证、权限拦截,实现完整的用户管理流程
  • 关键语法:#calendars.format(user.birth,'yyyy-MM-dd')格式化日期、th:if做条件判断、th:each遍历列表
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 16:47:39

基于SpringBoot和Vue的云与糖蛋糕购物平台系统

文章目录详细视频演示项目介绍技术介绍功能介绍核心代码系统效果图源码获取详细视频演示 文章底部名片&#xff0c;获取项目的完整演示视频&#xff0c;免费解答技术疑问 项目介绍 云与糖蛋糕购物平台系统是基于SpringBoot框架开发的B2C&#xff08;商家对消费者&#xff09;…

作者头像 李华
网站建设 2026/6/9 17:27:58

C# 基于OpenCv的视觉工作流-章23-SIFT关键点

C# 基于OpenCv的视觉工作流-章23-SIFT关键点 本章目标&#xff1a; 一、SIFT关键点检测&#xff1b; 二、绘制关键点&#xff1b;一、SIFT关键点检测&#xff1b; SIFT关键点检测会改进Harris角点检测的不足&#xff0c;如下图&#xff0c;数学原理比较复杂&#xff0c;本文不进…

作者头像 李华
网站建设 2026/6/5 5:59:27

用数据说话!AI论文写作软件 千笔AI VS 锐智 AI,专科生首选神器!

随着人工智能技术的迅猛迭代与普及&#xff0c;AI辅助写作工具已逐步渗透到高校学术写作场景中&#xff0c;成为专科生、本科生、研究生完成毕业论文不可或缺的辅助手段。越来越多面临毕业论文压力的学生&#xff0c;开始依赖各类AI工具简化写作流程、提升创作效率。但与此同时…

作者头像 李华
网站建设 2026/6/5 4:01:50

两岁6月的宝宝,每天都在晚上12点说自己饿,其实吃的也不少,为啥?

两岁6月的宝宝,每天都在晚上12点说自己饿,其实吃的也不少,为啥? 你说的情况很典型,涉及 两岁半宝宝夜间“饿了”喊”的行为,但大多数情况下和真正的饥饿关系不大。我们可以从几个角度分析。 一、可能原因 1️⃣ 行为/心理因素(最常见) 寻求关注或安全感:宝宝白天受限…

作者头像 李华
网站建设 2026/6/5 10:06:12

交稿前一晚!8个AI论文平台测评:本科生毕业论文写作全攻略

在论文写作日益数字化的今天&#xff0c;越来越多的本科生开始借助AI工具提升效率、降低压力。然而面对市场上琳琅满目的AI论文平台&#xff0c;如何选择真正适合自己的工具成为一大难题。为此&#xff0c;我们基于2026年的实测数据与用户真实反馈&#xff0c;对多款主流AI论文…

作者头像 李华
网站建设 2026/6/5 3:36:10

基于STM32的智能健康手表设计

基于STM32的智能健康手表设计 第一章 智能健康手表硬件架构设计 基于STM32的智能健康手表硬件以“高精度监测低功耗运行”为核心目标&#xff0c;选用STM32L496ZGJ6作为主控芯片&#xff0c;该芯片搭载ARM Cortex-M4内核&#xff0c;集成硬件浮点运算单元&#xff08;FPU&#…

作者头像 李华