本文介绍: Controller层:Service接口层:Service接口实现层:Mapper接口层: 2.使用Mybatis映射文件xml的方式:Controller层(相同): Service接口实现类:Mapper层:Mapper映射文件xml:Mapper映射文件xml的路径要求如下:
1.使用注解的方式定义SQL语句:
@RequestMapping("/emps")
@Slf4j
@RestController
public class EmpController {
@Autowired
private EmpService empService;
//根据ID修改员工数据
@PutMapping()
public Result update(@RequestBody Emp emp){
log.info("修改员工数据:{}", emp);
empService.update(emp);
return Result.success();
}
}
public interface EmpService {
/**
* 修改员工数据
*/
void update(Emp emp);
}
@Service
public class EmpServiceImpl implements EmpService{
@Autowired
private EmpMapper empMapper;
@Override
public void update(Emp emp) {
empMapper.update(emp.getUsername(), emp.getName(), emp.getGender(), emp.getImage(), emp.getId(), LocalDateTime.now());
}
}
Mapper接口层:
@Mapper
public interface EmpMapper {
/**
* 根据ID修改员工数据
*/
@Update("update emp set username = #{username},name = #{name},gender=#{gender},update_Time=#{updateTime} ,image=#{image} where id=#{id}")
void update(String username, String name, Short gender, String image, Integer id, LocalDateTime updateTime);
}
2.使用Mybatis映射文件xml的方式:
@RequestMapping("/emps")
@Slf4j
@RestController
public class EmpController {
@Autowired
private EmpService empService;
//根据ID修改员工数据
@PutMapping()
public Result update(@RequestBody Emp emp){
log.info("修改员工数据:{}", emp);
empService.update(emp);
return Result.success();
}
}
public interface EmpService {
/**
* 修改员工数据
*/
void update(Emp emp);
}
Service接口实现类:
@Service
public class EmpServiceImpl implements EmpService{
@Autowired
private EmpMapper empMapper;
//使用映射文件xml
@Override
public void update(Emp emp){
emp.setUpdateTime(LocalDateTime.now());
empMapper.update(emp);
}
}
Mapper层:
@Mapper
public interface EmpMapper {
//使用映射文件xml的方式
void update(Emp emp);
}
<?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.itheima.mapper.EmpMapper">
<!-- 更新员工数据-->
<update id="update">
update emp
<set>
<if test="username != null and username != ''">
username = #{username},
</if>
<if test="password!=null and passwprd !=''">
password = #{passwprd},
</if>
<if test="name!=null and name!=''">
name =#{name},
</if>
<if test="gender!=null">
gender=#{gender},
</if>
<if test="image !=null and image !=''">
image =#{image},
</if>
<if test="job!=null">
job=#{job},
</if>
<if test="entrydate!=null">
entrydate=#{entrydate},
</if>
<if test="deptId!=null">
dept_id=#{deptId},
</if>
<if test="updateTime!=null">
update_time =#{updateTime}
</if>
</set>
where id=#{id}
</update>
</mapper>
- 放在项目的resources目录下。
- 在resources目录下创建一个与mapper接口全名相同的包名,例如:com.example.mapper。
- 在创建的包名目录下,创建一个与mapper接口同名的文件,例如:UserMapper.xml。
- 将mapper映射文件中的内容按照MyBatis的语法编写。
原文地址:https://blog.csdn.net/qq_58341172/article/details/134697789
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_10725.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。