one to many
<?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="com.itsource.demo02.mapper.DepartmentMapper">
<resultMap id="result" type="com.itsource.demo02.domain.Department">
<id column="id" property="id"/>
<result column="name" property="name"/>
<collection property="employees" ofType="com.itsource.demo02.domain.Employee"
select="searchEmployee" column="id">
<id column="id" property="id"></id>
<result column="name" property="name"/>
</collection>
</resultMap>
<select id="searchEmployee" resultType="com.itsource.demo02.domain.Employee">
SELECT e.id,e.name from department d INNER JOIN employee e ON d.id=e.type WHERE d.id=#{id}
</select>
<select id="searchAll" resultMap="result">
SELECT * from department
</select>
</mapper>
one to one
<?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="com.itsource.demo02.mapper.EmployeeMapper">
<resultMap id="result" type="com.itsource.demo02.domain.Employee">
<id column="id" property="id"/>
<result column="name" property="name"/>
<association property="department" column="department" javaType="com.itsource.demo02.domain.Department">
<result column="dname" property="name"/>
</association>
</resultMap>
<select id="searchAll" resultType="com.itsource.demo02.domain.Employee" resultMap="result">
SELECT e.*,d.name dname from employee e INNER JOIN department d ON e.type=d.id;
</select>
<select id="add" >
insert into employee VALUES(#{id},#{name})
<include refid="wheresql"/>
</select>
<select id="delete" >
delete from employee where id IN
<foreach collection="list" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</select>
<select id="update">
UPDATE employee set name=#{name} where id=#{id}
</select>
<sql id="wheresql">
where name like concat('%',#{judeName},'%')
</sql>
</mapper>