MyBatis 配置 MyBatis 是一个基于 Java 的持久层框架,提供了一个简单的方式来访问和操作数据库。在 MyBatis 配置中,SQL 映射 XML 文件是一个核心组件,它定义了所有 SQL 语句的放置地方。在本篇文章中,我们将详细介绍 MyBatis 配置的基本概念和元素。 SQL 映射 XML 文件 SQL 映射 XML 文件是所有 SQL 语句放置的地方。需要定义一个 workspace,一般定义为对应的接口类的路径。在 MyBatis 配置文件中,我们需要在 mappers 标签中引用这些 SQL 映射 XML 文件,例如: ``` <mappers> <mapper resource="com/liming/manager/data/mappers/UserMapper.xml" /> <mapper resource="com/liming/manager/data/mappers/StudentMapper.xml" /> <mapper resource="com/liming/manager/data/mappers/ClassMapper.xml" /> <mapper resource="com/liming/manager/data/mappers/TeacherMapper.xml" /> </mappers> ``` SQL 映射 XML 文件的元素 在 SQL 映射 XML 文件中,有多种元素可以被使用。下面是一些初级的元素: * cache:配置给定模式的缓存 * cache-ref:从别的模式中引用一个缓存 * resultMap:描述如何从结果集中加载对象 * sql:一个可以被其他语句复用的 SQL 块 * insert:映射 INSERT 语句 * update:映射 UPDATE 语句 * delete:映射 DELETE 语句 * select:映射 SELECT 语句 resultMap resultMap 是 MyBatis 中最重要最强大的元素了。它描述如何从结果集中加载对象。ResultMap 的目的,就是简单的语句而不需要多余的结果映射,更多复杂的语句,除了只要一些绝对必须的语句描述关系以外,再也不需要其他的。 ResultMap 的属性包括: * type:java 实体类 * id:此 resultMap 的标识 ResultMap 可以设置的映射包括: * constructor:用来将结果反射给一个实例化好的类的构造器 * idArg:ID 参数,将结果集标记为 ID,以方便全局调用 * arg:反射到构造器的通常结果 * result:反射到 JavaBean 属性的普通结果 * association:复杂类型的结合;多个结果合成的类型 * collection:复杂类型集合 a collection of complex types * nested result mappings:resultMap 的集合,也可以引用到一个其它上 * discriminator:使用一个结果值以决定使用哪个 resultMap id、result id、result 是最简单的映射,id 为主键映射;result 其他基本数据库表字段到实体类属性的映射。 例如: ``` <resultMap type="StudentEntity" id="studentResultMap"> <id property="studentID" column="STUDENT_ID"/> <result property="studentName" column="STUDENT_NAME"/> <result property="studentSex" column="STUDENT_SEX"/> <result property="studentBirthday" column="STUDENT_BIRTHDAY"/> </resultMap> ``` id、result 语句属性配置细节: * property:需要映射到 JavaBean 的属性名称 * column:数据表的列名或者标签别名 * javaType:一个完整的类名,或者是一个类型别名 * jdbcType:数据表支持的类型列表 在本篇文章中,我们详细介绍了 MyBatis 配置的基本概念和元素。了解这些概念和元素对于使用 MyBatis 进行数据库操作非常重要。




















剩余27页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- Python与Pygame游戏开发指南
- 计算机视觉-图像去模糊作业
- idealzouhu-CS-Note-58184-1753001949446.zip
- 基于 OpenCV3 与 Qt5 的计算机视觉应用开发指南
- 计算机视觉课程期末作业之任务 3 具体要求说明
- Groovy编程指南:从入门到精通
- 计算机视觉领域创新实践项目 GitHub 仓库合集
- 2020 年计算机视觉课程的实习作业任务
- Groovy编程实战指南:从入门到精通
- 计算机视觉创新实践github仓库
- 烟草行业信息化建设与发展的对策分析.docx
- 中等职业学校计算机专业课程建设的思考.docx
- 计算机视觉领域中的 SLAM、OpenCV、PCL 与深度学习技术概览
- 单片机的智能火灾报警系统40;本科研究与设计开发41;.doc
- 人工智能背景下的教育融合困境与路径选择.docx


