MyBatis 基础
@Select("select * from t_person where id = #{id}")
Person selectPersonById(Integer id);
@Select("<script>
select * from t_person where id = #{id}
<when test='address !=null'> and address = #{address}
</when>
</script>")
Person selectPersonById(Integer id, String address);
指定填入
@TableField(fill = FieldFill.INSERT_UPDATE)
public class DefaultDBFieldHandler implements MetaObjectHandler // 芋道 jh-spring-boot-starter-mybatis
List 类型 存储
TypeHandler // 芋道 中查询
@TableField(typeHandler = JacksonTypeHandler.class) 字段变量上 加上 //I
@TableName(value="check_type", autoResultMap = true). DO 类需要加上 autoResultMap 否则 读取为 null // II
@Select("SELECT * FROM lihu.clinic_room where room_id=#{roomId} and bed_no=#{bedNo}")
@Results({
@Result(property = "checkTypes", column = "check_types", typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class) // III
})
RoomDO getRoom(@Param("roomId")Long roomId, @Param("bedNo")String bedNo);
NULL值字段 也写入
@TableField(updateStrategy = FieldStrategy.ALWAYS)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端