当前位置: 首页 > news >正文

医疗网站搭建网站建设业务员转换大

医疗网站搭建,网站建设业务员转换大,中国建设银行官网首页网站,怎么免费建立网站Spring Boot 集成 MyBatis 全攻略 1. 为什么选择 MyBatis ORM 灵活性:相比 Hibernate,MyBatis 更灵活,SQL 可控,性能优化空间大。学习曲线低:对于熟悉 SQL 的开发者,上手快。与 Spring Boot 无缝整合&#…

Spring Boot 集成 MyBatis 全攻略

1. 为什么选择 MyBatis

  • ORM 灵活性:相比 Hibernate,MyBatis 更灵活,SQL 可控,性能优化空间大。
  • 学习曲线低:对于熟悉 SQL 的开发者,上手快。
  • 与 Spring Boot 无缝整合:只需少量配置,即可快速使用。

2. 基础环境

依赖(pom.xml

<dependencies><!-- Spring Boot Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- MyBatis-Spring-Boot-Starter --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3</version></dependency><!-- 数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><!-- Lombok(可选) --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>
</dependencies>

3. 配置数据源

application.yml

spring:datasource:url: jdbc:mysql://localhost:3306/demo_db?useSSL=false&serverTimezone=Asia/Shanghaiusername: rootpassword: root123driver-class-name: com.mysql.cj.jdbc.Drivermybatis:# 指定 Mapper XML 文件位置mapper-locations: classpath:mapper/*.xml# 指定实体类包,自动映射列名和属性名(开启驼峰命名)type-aliases-package: com.example.demo.entityconfiguration:map-underscore-to-camel-case: true

4. 定义实体类

package com.example.demo.entity;import lombok.Data;@Data
public class User {private Long id;private String username;private String email;
}

5. 定义 Mapper 接口

package com.example.demo.mapper;import com.example.demo.entity.User;
import org.apache.ibatis.annotations.*;import java.util.List;@Mapper
public interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User findById(Long id);@Select("SELECT * FROM user")List<User> findAll();@Insert("INSERT INTO user(username, email) VALUES(#{username}, #{email})")@Options(useGeneratedKeys = true, keyProperty = "id")int insert(User user);@Update("UPDATE user SET username=#{username}, email=#{email} WHERE id=#{id}")int update(User user);@Delete("DELETE FROM user WHERE id=#{id}")int delete(Long id);
}

✅ 这里用注解方式,简单清晰;复杂 SQL 可以写到 XML 文件。


6. 使用 XML 配置 SQL(适合复杂 SQL)

resources/mapper/UserMapper.xml 中:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.demo.mapper.UserMapper"><select id="findAll" resultType="com.example.demo.entity.User">SELECT * FROM user</select><insert id="insert" parameterType="com.example.demo.entity.User" useGeneratedKeys="true" keyProperty="id">INSERT INTO user(username, email) VALUES(#{username}, #{email})</insert></mapper>

7. Service + Controller

Service

package com.example.demo.service;import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.stereotype.Service;
import java.util.List;@Service
public class UserService {private final UserMapper userMapper;public UserService(UserMapper userMapper) {this.userMapper = userMapper;}public User getUser(Long id) {return userMapper.findById(id);}public List<User> listUsers() {return userMapper.findAll();}public int addUser(User user) {return userMapper.insert(user);}
}

Controller

package com.example.demo.controller;import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.web.bind.annotation.*;import java.util.List;@RestController
@RequestMapping("/users")
public class UserController {private final UserService userService;public UserController(UserService userService) {this.userService = userService;}@GetMapping("/{id}")public User getUser(@PathVariable Long id) {return userService.getUser(id);}@GetMappingpublic List<User> listUsers() {return userService.listUsers();}@PostMappingpublic String addUser(@RequestBody User user) {userService.addUser(user);return "User added successfully!";}
}

8. 分页支持

推荐集成 PageHelper 插件:

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.7</version>
</dependency>

使用:

PageHelper.startPage(1, 10);
List<User> users = userMapper.findAll();
PageInfo<User> pageInfo = new PageInfo<>(users);

9. 常见优化

  1. 批量插入:使用 foreach 标签。
  2. 动态 SQL:使用 <if> <choose> 等标签构建灵活查询。
  3. 二级缓存<cache/> 配置 + Redis 集成。
  4. 多数据源:Spring Boot + MyBatis 支持动态数据源切换。
  5. 统一异常处理:结合 @ControllerAdvice 统一返回接口错误信息。

10. 总结

Spring Boot + MyBatis 集成流程大致分为:

  1. 加依赖 → 2. 配数据源 → 3. 写实体类 → 4. 写 Mapper(注解/XML) → 5. 写 Service/Controller → 6. 增强功能(分页、缓存、动态 SQL)。

这样,就能快速搭建一个 基于 Spring Boot + MyBatis 的全栈开发框架 🚀。


http://www.dtcms.com/a/441187.html

相关文章:

  • 沈阳手机网站开发网站建设毕业设计中期检查
  • 企业3合1网站建设知名网站建设代理
  • 网站还没建设好可以备案吗WordPress授权站资源网
  • 聊城做网站的公司行情东阳住房和城市建设网站
  • 工业信息化部网站备案查询网站建设的想法
  • wordpress调用排序从大到小seo咨询师
  • 司局网站维护廉政风险建设长治做百度网站一年多少钱
  • 王欣网站建设与维护上海商地网站建设公司
  • 网站网站开发者犯法吗html登录注册页面代码
  • 一般做网站要多少钱.ai域名注册网站
  • 拍拍网站源码网站设计制作开发公司
  • 网站域名com和cn的差别在哪里加工订单网
  • 网站怎么做动态切图连云港seo
  • 昆明做网站找启搜网络wordpress导航栏透明
  • 哪个网站是做韩国化妆品正品市场营销模式有哪些
  • 专业单位网站设计企业58同城类似的网站怎么做
  • 天津seo网站管理抖音代运营方案计划书
  • php众筹网站程序源码静态网站建设的主要技术
  • 邢台建站详情页设计 制作
  • 网站建设数据库怎么传送优秀的网页网站设计
  • 网站内容设计遵循的原则有网站注册地址
  • 医疗机械网站怎么做wordpress深度开发
  • 外汇申报在哪个网站上做做众筹的网站有几个
  • 山西省建设厅网站官网仿团购网站模板
  • ps彩屏做的好的网站企业网站建设的基本原则有哪些?
  • 南阳网站开发网站建设费放什么科目
  • 网站开发建设公司电话公司网页如何建立
  • 情侣做记录网站源码全网营销和网站建设
  • 可以做外链的网站平台延庆网站制作
  • 深圳市盐田区住房和建设局网站电商网站制作