在SpringBoot中链接MySQL时_MyBatis方法中用硬编码还是参数传递更合适?
在 Spring Boot 中链接 MySQL 时,需要注意的 MyBatis 问题
一、背景
假设存在一个名为 “animal” 的 SQL 表,其结构如下:
id整数name字符串type字符串age整数
表包含以下数据:
1白胖cat122泰哥cat103大Gdog94墨宝sheep6
二、问题
编写一个 MyBatis 方法 queryCatFromXXX(),从 “animal” 表中获取所有类型为 “cat” 的数据。在 SQL 语句中,条件 “type=cat” 可以:
硬编码在 SQL 中:select * from animal where type=”cat”通过参数传递:select * from animal where type=#{type}
那么,在以下情况下,哪种做法更合适:
方法明确用于查询 “cat” 相关数据存在更灵活的方法,可以查询不同类型的动物数据
三、答案
推荐在 MyBatis 方法中通过 传递 type 参数来获取数据。
在 Service 层考虑是否需要更灵活的方法,比如根据类型枚举获取数据。如果需要:
在 Service 层创建一个方法,传入类型枚举参数。在方法内部,根据类型枚举构建查询条件。Controller 直接调用方法,传入 “cat” 值枚举。
如果不需要更灵活的方法,可以在 Service 层创建特定方法,如获取转移动物数据。该方法内部实现条件筛选,调用者直接调用方法即可获取需要转移动物的数据。
以上就是在 Spring Boot 中链接 MySQL 时, MyBatis 方法中用硬编码还是参数传递更合适?的详细内容,更多请关注范的资源库其它相关文章!