MyBatis 中查询数据:硬编码还是动态参数?

mybatis 中查询数据:硬编码还是动态参数?

硬编码与动态参数在 MyBatis 中的选择

当使用 MyBatis 从数据库中查询特定条件的数据时,需要考虑在 SQL 语句中是直接写入条件还是动态传入参数。以查询 type=cat 的 animal 数据为例,我们可以直接在 SQL 语句中指定 type 条件,也可以在 mapper 方法中将 type 作为参数传入。

对于此例,直接在 SQL 语句中写死 type 条件比较方便,但对于需要更为灵活的方法时,例如根据不同类型参数获取数据,则建议在 Mapper 方法中动态传入参数。这样可以避免硬编码,更灵活的处理不同条件的查询。

MyBatis3.2.3帮助文档 中文CHM版 MyBatis3.2.3帮助文档 中文CHM版

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 J*a 的 POJOs(Plan Old J*a Objects,普通的 J*a 对象)映射成数据库中的记录。有需要的朋友可以下载看看

MyBatis3.2.3帮助文档 中文CHM版 1 查看详情 MyBatis3.2.3帮助文档 中文CHM版

在 Service 层,可以根据业务需求考虑是否需要将传入 Mapper 方法的参数抽象成更通用的方法。例如,如果有多个方法需要根据 type 参数获取数据,则可以在 Service 层定义一个根据类型枚举获取数据的方法。Controller 层只需调用该方法并传入相应的 type 枚举值即可。

以上就是MyBatis 中查询数据:硬编码还是动态参数?的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。