MyBatis基础操作

Lombok工具介绍

        Lombok是一个实用的jav,能够通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法并可以自动化生成日志变量、简化java开放、提高效率

        注解及其作用

1. @Getter/@Setter :为所有的属性提供get/set方法

2. @ToString :会给类自动生成易阅读的toString方法

3. @EqualsAndHashCode : 根据类所拥有的非静态字段自动重写equals方法和hasCode方法

4. @Data: 提供了更综合的生成代码功能(@Getter+@Setter+@ToString+@EqualsAndHashCode )

5. @NoArgsConstructor:为实体类生成无参的构造方法

6.@AllArgsConstructor : 为实体类生成除了static 修饰的字段之外带有各参数的构造器方法

使用lombok 要引入lombok依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
</dependency>

如果没有引入lombok,按往常的写法我们的实体类内容就显得很臃肿

package com.itheima.mybatis.pojo;
import lombok.*;

public class table {
    private int id;
    private String item_name;
    private String value;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getItem_name() {
        return item_name;
    }

    public void setItem_name(String item_name) {
        this.item_name = item_name;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return "table{" +
                "id=" + id +
                ", item_name='" + item_name + '\'' +
                ", value='" + value + '\'' +
                '}';
    }
}

引入lombok后下面的一大坨我们可以用简短的语句就完成了

package com.itheima.mybatis.pojo;
import lombok.*;

@Data   //  包含@Getter/@Setter、@ToString、 @EqualsAndHashCode
@NoArgsConstructor  //无参构造
@AllArgsConstructor //全参构造
public class table {
    private int id;
    private String item_name;
    private String value;
}

准备工作

  • 准备一个数据库表(随便添加一些数据)我这里随机生成的数据
  • 创建一个Springboot工程,选择引入对应起步依赖Lombok、MyBatis Framework、MySQL Driver
  • 创建对应的实体类(与数据库表的字段要一 一对应)
  • public class table {
        private int id;
        private String item_name;
        private String value;
    }
  • 准备Mapper接口和EmpMapper接口
  • 数据库连接配置在
    application.properties这个文件中
    spring.datasource.url=jdbc:mysql://localhost:3306/my_new_database?useSSL=false&serverTimezone=UTC
    spring.datasource.username=root
    spring.datasource.password=CST200212
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

 在table这个实体的内容如下

package com.itheima.csdn_mybatis.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data   //  相当于添加@Getter、@Setter、@ToString、 @EqualsAndHashCode
@NoArgsConstructor  //无参构造
@AllArgsConstructor //全参构造
public class table {
    private int id;
    private String item_name;
    private String value;
}

 创建一个mapper接口

我们需要在接口上添加一个@Mapper注解

@Mapper //在程序运行时会自动生成 该接口的实现类(代理对象)并且将该对象交给IOC容器管理
public interface UserMapper {

}

 实现增删改

  1. 删除(在编辑器中SQL语句可能会飘红,我们在编辑器里连接一下数据库就好了)
package com.itheima.csdn_mybatis.mapper;

import com.itheima.csdn_mybatis.pojo.table;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper //在程序运行时会自动生成 该接口的实现类(代理对象)并且将该对象交给IOC容器管理
public interface UserMapper {

    //删除
    @Delete("delete from first_table where Id=#{id}")
    public void delete(int id);


}

连接成功

原来飘红的就没有了

然后开始测试

package com.itheima.csdn_mybatis;

import com.itheima.csdn_mybatis.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class CsdnMybatisApplicationTests {
    @Autowired
    private UserMapper userMapper; //首先要声明一个UserMapper类
    @Test
    public void contextLoads() {
        userMapper.delete(6);// 测试删ID=6的记录
    }
}

执行程序后刷新数据表

删除功能实现成功

其余功能如下

package com.itheima.csdn_mybatis.mapper;

import com.itheima.csdn_mybatis.pojo.table;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper //在程序运行时会自动生成 该接口的实现类(代理对象)并且将该对象交给IOC容器管理
public interface UserMapper {
    //删除
    @Delete("delete from first_table where Id=#{id}")
    public void delete(int id);
    
    //查询全部信息
    @Select("select * from first_table")
    public List<table> selectAllTable();

    //插入
    @Options(keyProperty = "id",useGeneratedKeys = true)
    @Insert("insert into first_table(item_name, value) " +
            "value(#{item_name},#{value}) ")
    public void insert(table t);

    //更新
    @Update("update first_table set item_name= #{item_name} , Value=#{value} where Id=#{id}")
    public void update(table t);

}

到此Mybatis基础操作就完成了

  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值