Springboot Mybatis对数据库增删改查

embedded/2024/9/25 6:00:58/

        Springboot中,用Mybatis对数据库进行增删改查

        Mapper类

java">package com.wzb.MybatisExercise20240924;import com.wzb.Pojo20240924.Emp;
import org.apache.ibatis.annotations.*;@Mapper
public interface EmpMapper {// 根据id查询数据@Select("select * from emp where id=#{id}")public void getEmp(Integer id);// 增加新的数据// 设置主键返回@Options(useGeneratedKeys = true, keyProperty = "id")@Insert("insert into emp(username, name, gender, image, job, entrydate, dept_id, create_time, " +"update_time) values (#{username}, #{name}, #{gender}, #{image}, #{job}, #{entrydate}, " +"#{deptId}, #{createTime}, #{updateTime})")public void insertEmp(Emp emp);// 修改表中数据@Update("update emp set username = #{username}, name = #{name}, gender = #{gender}, image = #{image}, " +"job = #{job}, entrydate = #{entrydate}, dept_id = #{deptId}, update_time = #{updateTime} " +"where id = #{id}")public void updateEmp(Emp emp);// 按照id删除表中数据@Delete("delete from emp where id = #{id}")public void deleteEmp(Integer id);}

        Test测试类

java">package com.wzb;import com.wzb.ConditionSelectExercise20240924.ConditionMapper;
import com.wzb.MybatisExercise20240924.EmpMapper;
import com.wzb.Pojo20240924.Emp;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.concurrent.locks.Condition;@SpringBootTest
class SpringbootExercise20240924ApplicationTests {@Autowiredprivate EmpMapper empMapper;@Autowiredprivate ConditionMapper cm;// 查
//    @Test
//    public void getEmp() {
//        empMapper.getEmp(19);
//    }// 增
//    @Test
//    public void insertEmp() {
//        Emp emp = new Emp();
//        emp.setUsername("Rose");
//        emp.setName("肉丝");
//        emp.setImage("1.jpg");
//        emp.setGender((short)2);
//        emp.setJob((short)1);
//        emp.setEntrydate(LocalDate.of(2000,1,1));
//        emp.setCreateTime(LocalDateTime.now());
//        emp.setUpdateTime(LocalDateTime.now());
//        emp.setDeptId(1);
//
//        empMapper.insertEmp(emp);
//    }//    // 改
//    @Test
//    public void updateEmp() {
//        Emp emp = new Emp();
//        // 根据Id修改
//        emp.setId(25);
//        emp.setUsername("Rose");
//        emp.setPassword(null);
//        emp.setName("肉丝儿");
//        emp.setImage("2.jpg");
//        emp.setGender((short)1);
//        emp.setJob((short)2);
//        emp.setEntrydate(LocalDate.of(2012,1,1));
//        emp.setCreateTime(null);
//        emp.setUpdateTime(LocalDateTime.now());
//        emp.setDeptId(2);
//
//        empMapper.updateEmp(emp);
//    }
//
//    // 删
//    @Test
//    public void deleteEmp() {
//        empMapper.deleteEmp(25);
//    }// 条件查询@Testpublic void conditionSelect() {List<Emp> empList = cm.conditionSelect("张", (short)1, LocalDate.of(2010, 1, 1),LocalDate.of(2020, 1, 1));for (Emp e : empList) {System.out.println(e);}}}

        PojoEmp类

java">package com.wzb.Pojo20240924;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.time.LocalDate;
import java.time.LocalDateTime;@Data
@AllArgsConstructor
@NoArgsConstructor
public class Emp {private Integer id;private String username;private String password;private String name;private Short gender;private String image;private Short job;private LocalDate entrydate;     //LocalDate类型对应数据表中的date类型private Integer deptId;private LocalDateTime createTime;//LocalDateTime类型对应数据表中的datetime类型private LocalDateTime updateTime;
}

 

 


http://www.ppmy.cn/embedded/116475.html

相关文章

交换机和路由器的区别

目录 工作层次 数据转发依据 域的处理 功能 工作层次 交换机&#xff1a;工作在OSI模型的第二层&#xff0c;即数据链路层&#xff0c;通过MAC地址表来识别和转发数据帧。 路由器&#xff1a;工作在OSI模型的第三层&#xff0c;即网络层&#xff0c;使用IP地址来确定数据包…

微服务之网关

1.网关需要的依赖 <!--网关--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--nacos discovery--><dependency><groupId>com…

WordPress 要求插件开发人员进行双因素身份验证

全球超过40%的网站由 WordPress 提供支持&#xff0c;其庞大的插件和主题生态系统在全球范围内提供了灵活性和定制性。然而&#xff0c;这种受欢迎程度也使其成为网络攻击的主要目标。 WordPress 将为所有插件和主题开发人员引入强制性双因素身份验证 (2FA)&#xff0c;以应对…

如何修改音频的音量增益

一、前言 在开发音频相关的功能&#xff08;比如说语音通话、播放音乐&#xff09;时&#xff0c;经常会遇到音量太小的问题&#xff0c;这时候就需要我们对原始数据进行处理。本文将介绍如何通过修改原始音频数据来增加增益&#xff0c;本文包含如下内容&#xff1a; 1.音频数…

python全栈学习记录(十八)re、os和sys、subprocess

re、os和sys、subprocess 文章目录 re、os和sys、subprocess一、re1.正则字符2.正则表达式的使用3.group的使用4.贪婪匹配与惰性匹配5.其他注意事项 二、os和sys1.os2.sys 三、subprocess四、打印进度条 一、re python中的re模块用来使用正则表达式&#xff0c;正则就是用一系…

C++什么时候生成默认的拷贝构造函数

1. 默认拷贝构造存在的问题 因为默认使用的是位拷贝&#xff0c;那么如果存在指针一类对象&#xff0c;那么不同对象会持有相同对象资源。 2. 什么时候触发拷贝构造函数 &#xff08;1&#xff09;用一个对象&#xff0c;当另一个对象的构造参数。 A b; A a(b); &#xff…

哪个快?用300万个图斑测试ArcGIS Pro的成对叠加与经典叠加

​​​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 在使用ArcGIS Pro的过程中&#xff0c;很多朋友发现&#xff0c;Pro有个成对叠加工具集。很多…