小白学习java第18天(下):mybatis
一对多:详细链接:Mybatis多表查询分析+示例(一对多、多对多)-阿里云开发者社区
在解决多表查询的时候, 也就是表进行关联的时候,我们应该怎么办呢?
如果单纯的使用sql语句的话是很简单的,(这句话就可以进行实现)
select * from user u ,account a where u.id=a.uid
但是如果转化到了 mybatis里面使用xml这个的话就很麻烦,你的一个select里面,为了解决这个我们创建一个对象,就类似于嵌套的行为!!!
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--首先就是进行接口的绑定,原来就是用一个类进行实现UserDaoImp,但是现在就用接口与xml进行绑定就可以-->
<mapper namespace="com.xcl.dao.UserMapper"><resultMap id="UserMap" type="com.xcl.pojo.Account"><result property="id" column="id"></result><result property="uid" column="uid"></result><result property="money" column="money"></result><association property="user" javaType="com.xcl.pojo.User"><result property="userID" column="id"></result><result property="userName" column="username"></result><result property="birthday" column="birthday"></result><result property="sex" column="sex"></result><result property="address" column="address"></result></association></resultMap><select id="findAll" resultMap="UserMap">select * from user u ,account a where u.id=a.uid</select>
</mapper>
缓存大概了解: