day02--Web 后端基础(Java 操作数据库)

24 阅读1分钟

day02--Web 后端基础(Java 操作数据库)

1) JDBC(底层基础)

  • JDBC 是 Java 操作关系型数据库的标准 API(接口规范),驱动由厂商实现

  • 核心流程:获取连接 → 预编译 SQL → 绑定参数 → 执行 → 处理结果 → 关闭资源

  • 查询(DQL):executeQuery()ResultSetnext() + getXxx 取值)

  • 增删改(DML):executeUpdate() → 返回 影响行数

  • 重点:PreparedStatement 预编译 SQL

    • ? 占位 + setXxx 传参
    • 优点:防 SQL 注入 + 性能更好(执行计划可复用)

2) MyBatis(简化 JDBC)

  • MyBatis 是 持久层(Dao)框架,用于简化 JDBC 开发

  • 相比 JDBC 的改进:

    • 数据库连接信息放在配置文件(不硬编码)
    • 结果集映射/封装自动完成
    • 使用 连接池(减少频繁创建/销毁连接)
  • 开发核心两件事:

    1. 配置数据源(application.properties / application.yml
    2. Mapper 接口 SQL(注解或 XML)

3) MyBatis 常用点

  • @Mapper:Mapper 交给 Spring 管理(生成代理对象)

  • CRUD 注解:@Select / @Insert / @Update / @Delete

  • 参数占位:

    • #{}:走 预编译(推荐,安全)
    • ${}:字符串拼接(有注入风险,慎用)
  • 多参数:可用 @Param 指定参数名(更稳)

  • 可开 SQL 日志:方便看执行的 SQL

4) XML 映射(复杂 SQL 用)

  • 简单 SQL 用注解,复杂 SQL 用 XML

  • XML 规范:

    • 同包同名(XML 和 Mapper 接口一致)
    • namespace = 接口全限定名
    • SQL 的 id = 方法名,返回类型一致
  • 一个方法要么注解要么 XML,不能同时配

5) 数据库连接池

  • SpringBoot 默认连接池:Hikari
  • 可切换:Druid(加依赖 + 配置数据源 type)

6) SpringBoot 配置文件(yml)

  • 推荐 application.yml:层级清晰、适合大量配置
  • yml 要点:缩进表示层级、冒号后空格、空格缩进不能用 Tab、# 注释