300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java resultmap_mybatis: resultMap 结果集映射和多表查询

java resultmap_mybatis: resultMap 结果集映射和多表查询

时间:2023-06-21 12:19:45

相关推荐

java resultmap_mybatis: resultMap 结果集映射和多表查询

mybatis 在进行 select 查询操作的时候,返回类型可以用 resultType,也可以用 resultMap;

resultType 是直接表示返回类型的(一般返回为基本数据类型时使用,当查询的是一条SQL数据时,且这条SQL数据的每个字段都和一个Javabean 中的属性名 与之对应,mybatis 会通过 autoMapping ,将每个字段的值赋给 Javabean),而当字段名和属性名不一致时,这时可以使用 resultMap

resultMap 是对外部的一个 ResultMap 标签的引用,并且 resultType 跟 resultMap 不能同时存在。

一个简单 resultMap 查询

select * from teacher where id=#{id}

当 SQL 中字段名 和 javabeen Teacher 的属性名一致时,自动映射写法如下

select * from teacher where id=#{id}

resultMap 常用标签属性说明

id:对应中 resultMap 的名称

type:type就是指定映射到哪一个实体类中

column:在数据库中的列名称

property:在实体类定义的属性名称

associattion :实体类对象包含另一个对象时,例如:一个学生对应一个老师 student =》teacher

collection :实体类对象包含的是一个集合时,例如:一个老师对应一群学生 teacher =》List

association(一对一) 和 collection(一对多)

association:一个学生对应一个老师 student =》teacher

select * from student

collection:一个老师对应一群学生 teacher =》List

select * from teacher

select:用于加载复杂类型属性的映射语句的 ID,它会从 column 属性指定的列中检索数据,作为参数传递给目标 select 语句。 具体请参考下面的例子。注意:在使用复合主键的时候,你可以使用column="{prop1=col1,prop2=col2}"这样的语法来指定多个传递给嵌套 Select 查询语句的列名。这会使得prop1和prop2作为参数对象,被设置为对应嵌套 Select 语句的参数。

SELECT * FROM BLOG WHERE ID = #{id}

SELECT * FROM AUTHOR WHERE ID = #{id}

property:映射到列结果的字段或属性。 -----------------指的是 javaBean 中的属性 类型(一个javaBeen 中的属性可以是基本数据类型也可以是 Object)

javaType:一个 Java 类的完全限定名,或一个类型别名。---------------------指的是一个 JavaBean class类型( A a = new a(); 理解为 A 类型)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。