一.创建mapper映射文件
在设置中
模板
<?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=""> </mapper>
二.文件位置
mapper包需要放在resources下,xml文件要放在mapper包中
三.xml文件中规则
xml文件
数字一 一对应
1:namespace=>方法所在文件的完整路径
2:id=>方法名
3:resultType=>方法返回类型
4:parameterType=>方法传入参数类型
四.application.yml配置文件做配置
application.yml
spring: application: name: demo datasource: username: root password: root url: jdbc:mysql://localhost:3306/mysqldb?characterEncoding=utf-8 driver-class-name: com.mysql.jdbc.Driver server: port: 9999 ## 配置扫描实体包,给实体类设置别名 ## 实体类包的位置 mybatis: type-aliases-package: com.example.demo.po mapper-locations: classpath:mapper/*.xml
五、一些使用
1、查询到的字段与映射的属性名字不一致
使用resultmap
数字一 一对应
1=>select标签里的属性resultMap需要与resultMap标签的属性id要对应,想起什么名字自己随意,
2=>查询出来的字段名称被修改,修改后的名称需要与result标签中column属性对应,而result标签就是将查询出来的字段与指定某个对象的属性对应映射,
3=>result标签的property属性写的是resultMap标签的type属性写的类型中的某个属性,
resultMap标签的type属性写的是这个resultMap的类型是什么。
2、一对一
Mybatis | Mybatis标签association一对一的使用_mybatis association 一对一_一介草民丶的博客-CSDN博客
数字一 一对应
1=>select标签的resultMap属性对应resultMap标签中的id属性
2=>resultMap标签中的type属性为这个resultMap的返回类型
3=>association标签中的property属性对应dept实体类中emp属性的名字
4=>association标签中的javaType属性对应dept实体类中emp属性的类型
5=>association标签中的columb属性是要把什么属性传给底下select属性指向的方法中
6=>association标签中的select属性是选中这个association的执行方法
里边的id标签和result标签都是查询到的字段对应到实体类中
association标签中的id标签和result标签可以不写
3、一对多
Mybatis | Mybatis标签collection一对多的使用_mybatis collection标签_一介草民丶的博客-CSDN博客
与一对一不一样的就把association标签换成collection标签,和标签里边的javaType换成ofType了
4、动态SQL
Mybatis--动态SQL_mybatis动态sql_不断前进的皮卡丘的博客-CSDN博客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言