news 2026/7/7 19:42:33

Spring Boot与MySQL交互

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot与MySQL交互

Spring Boot与MySQL交互的核心步骤

配置MySQL依赖与数据源
pom.xml中添加依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>

application.properties中配置数据源:

spring.datasource.url=jdbc:mysql://localhost:3306/数据库名?useSSL=false&serverTimezone=UTC spring.datasource.username=用户名 spring.datasource.password=密码 spring.jpa.hibernate.ddl-auto=update

实体类映射数据库表
使用JPA注解定义实体类:

@Entity@Table(name="user")publicclassUser{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongid;@Column(nullable=false)privateStringname;// getters/setters省略}

创建Repository接口
继承JpaRepository实现CRUD操作:

publicinterfaceUserRepositoryextendsJpaRepository<User,Long>{List<User>findByName(Stringname);}

服务层调用Repository

@ServicepublicclassUserService{@AutowiredprivateUserRepositoryuserRepository;publicUsersaveUser(Useruser){returnuserRepository.save(user);}}

事务管理
在服务层方法添加事务注解:

@TransactionalpublicvoidupdateUser(Useruser){userRepository.save(user);}

高级交互技巧

自定义SQL查询
在Repository中使用@Query注解:

@Query("SELECT u FROM User u WHERE u.name LIKE %:keyword%")List<User>searchByKeyword(@Param("keyword")Stringkeyword);

分页与排序
通过Pageable参数实现:

Page<User>findAll(Pageablepageable);

多数据源配置
需单独配置多个DataSource和EntityManager:

@Configuration@EnableJpaRepositories(basePackages="com.primary.repository",entityManagerFactoryRef="primaryEntityManager")publicclassPrimaryDataSourceConfig{// 详细配置省略}

性能优化建议
启用JDBC批处理:

spring.jpa.properties.hibernate.jdbc.batch_size=20 spring.jpa.properties.hibernate.order_inserts=true

连接池配置
推荐使用HikariCP:

spring.datasource.hikari.maximum-pool-size=10 spring.datasource.hikari.connection-timeout=30000

异常处理方案

数据校验
在实体类字段添加校验注解:

@NotBlank@Size(max=100)privateStringname;

统一异常处理
使用@ControllerAdvice捕获数据库异常:

@ExceptionHandler(DataIntegrityViolationException.class)publicResponseEntity<String>handleConstraintViolation(){returnResponseEntity.badRequest().body("数据约束冲突");}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 1:59:33

2025年工业触摸屏主流品牌实用对比

一、工业触摸屏发展趋势&#xff1a;从“显示终端”到“系统节点”在过去十年&#xff0c;工业触摸屏&#xff08;Industrial HMI&#xff09;的角色已从传统的“参数显示 按钮替代”&#xff0c;逐渐演变为生产线中的重要节点——承担可视化、人机交互、边缘计算、协议汇聚、…

作者头像 李华
网站建设 2026/7/7 13:02:55

联想笔记本续航能力官方评测查询指南:解读数据背后的真实续航

联想笔记本续航能力官方评测查询指南&#xff1a;解读数据背后的真实续航 续航能力是衡量笔记本移动办公体验的核心指标之一&#xff0c;但“官方续航”与实际使用感受之间的差距&#xff0c;常常让消费者感到困惑。联想笔记本的官方续航数据在哪里&#xff1f;它们是在什么条件…

作者头像 李华
网站建设 2026/7/6 16:04:23

BioSIM抗人凝血因子Ⅻa抗体SIM0324:采用先进的无动物源生产技术

在现代生命科学研究中&#xff0c;抗体作为一种重要的生物试剂&#xff0c;广泛应用于基础研究、药物开发及临床诊断等多个领域。其中&#xff0c;针对凝血因子Ⅻa&#xff08;FXIIa&#xff09;的特异性抗体&#xff0c;因其在止血机制、炎症反应及血栓形成等病理过程中的关键…

作者头像 李华
网站建设 2026/7/7 10:30:41

弹幕转换终极方案:从零到精通的完整操作指南

还在为无法离线观看弹幕视频而烦恼吗&#xff1f;想要将心爱的弹幕收藏起来随时重温&#xff1f;danmaku2ass就是你的最佳选择&#xff01;这款开源工具能够轻松将Niconico、AcFun、bilibili等平台的弹幕文件转换为通用的ASS字幕格式&#xff0c;让任何视频播放器都能拥有弹幕功…

作者头像 李华
网站建设 2026/7/7 18:06:28

腾讯Hunyuan3D-2mv:多视角3D生成技术终极指南

在数字内容创作领域&#xff0c;传统3D建模流程正面临革命性变革。腾讯最新开源的Hunyuan3D-2mv多视角3D生成模型&#xff0c;正以其强大的技术实力和开放姿态&#xff0c;重新定义3D内容生产规则。 【免费下载链接】Hunyuan3D-2mv Hunyuan3D-2mv是由腾讯开源的先进3D生成模型&…

作者头像 李华