mybatis一对多增删改查
时间: 2023-08-25 19:07:35 浏览: 51
MyBatis是一款优秀的ORM框架,可以方便地实现数据库的操作。下面是一对多增删改查的示例:
一对多关系指的是一个实体对象关联多个子实体对象,比如一个部门对应多个员工。在这种情况下,通常会使用两个表来表示这种关系,一个主表和一个从表,主表包含一条记录,从表包含多条记录。
一对多查询:
```xml
<!--部门表-->
<resultMap id="departmentMap" type="Department">
<id property="id" column="id" />
<result property="name" column="name" />
<collection property="employees" ofType="Employee">
<id property="id" column="employee_id" />
<result property="name" column="name" />
<result property="age" column="age" />
</collection>
</resultMap>
<select id="getDepartment" resultMap="departmentMap">
SELECT d.id, d.name, e.id as employee_id, e.name, e.age
FROM department d
LEFT JOIN employee e ON d.id = e.department_id
WHERE d.id = #{id}
</select>
```
一对多新增:
```xml
<!--部门表-->
<insert id="insertDepartment" parameterType="Department">
INSERT INTO department (name)
VALUES (#{name})
</insert>
<!--员工表-->
<insert id="insertEmployee" parameterType="Employee">
INSERT INTO employee (name, age, department_id)
VALUES (#{name}, #{age}, #{department.id})
</insert>
```
一对多修改:
```xml
<!--部门表-->
<update id="updateDepartment" parameterType="Department">
UPDATE department
SET name = #{name}
WHERE id = #{id}
</update>
<!--员工表-->
<update id="updateEmployee" parameterType="Employee">
UPDATE employee
SET name = #{name}, age = #{age}, department_id = #{department.id}
WHERE id = #{id}
</update>
```
一对多删除:
```xml
<!--部门表-->
<delete id="deleteDepartment" parameterType="int">
DELETE FROM department WHERE id = #{id}
</delete>
<!--员工表-->
<delete id="deleteEmployee" parameterType="int">
DELETE FROM employee WHERE id = #{id}
</delete>
```
以上是一对多关系的增删改查示例,具体实现还要根据实际情况进行调整。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)