Springboot Mybatis基于注解开发(@Select、@Delete、@Update、@Insert)

Springboot Mybatis基于注解开发(@Select、@Delete、@Update、@Insert)

新增yml配置(需要额外注意):

# Mybatis基于注解开发,开启驼峰命名转换(否则为NULL
mybatis:
  configuration:
    map-underscore-to-camel-case: true         

实体类(Standard.java):

package com.kd.opt.entity;

import java.io.Serializable;

/**
 * Xxx实体类(代码规范)
 *
 * @author 小辰哥哥
 */

public class Standard implements Serializable {

    // 标准编号
    private Integer standardId;

    // 标准名称
    private String standardName;

    // 标准类型
    private String standardType;

    // 无参构造
    public Standard() {
    }

    // 有参构造
    public Standard(Integer standardId, String standardName, String standardType) {
        this.standardId = standardId;
        this.standardName = standardName;
        this.standardType = standardType;
    }

    // Get和Set方法进行封装
    public Integer getStandardId() {
        return standardId;
    }

    public void setStandardId(Integer standardId) {
        this.standardId = standardId;
    }

    public String getStandardName() {
        return standardName;
    }

    public void setStandardName(String standardName) {
        this.standardName = standardName == null ? null : standardName.trim();
    }

    public String getStandardType() {
        return standardType;
    }

    public void setStandardType(String standardType) {
        this.standardType = standardType == null ? null : standardType.trim();
    }

    // 重写toString方法
    @Override
    public String toString() {
        return "Standard{" +
                "standardId=" + standardId +
                ", standardName='" + standardName + '\'' +
                ", standardType='" + standardType + '\'' +
                '}';
    }
}

Dao层接口(StandardMapper3.java):

package com.kd.opt.dao;

import com.kd.opt.entity.Standard;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * XxxDao层接口(代码规范,基于注解开发)
 *
 * @author 小辰哥哥
 */

@Mapper
@Component
public interface StandardMapper3 {

    /**
     * 方法一:根据主键删除数据
     *
     * @param standardId
     * @return
     * @author 小辰哥哥
     */
    @Delete("delete from standard where standard_id = #{standardId,jdbcType=INTEGER}")
    int deleteByPrimaryKey(Integer standardId);

    /**
     * 方法二:插入数据
     *
     * @param record
     * @return
     * @author 小辰哥哥
     */
    // 获取自增主键的ID
    @Options(useGeneratedKeys = true, keyProperty = "standardId", keyColumn = "standard_id")
    @Insert("insert into standard (standard_name, standard_type) values (#{standardName,jdbcType=VARCHAR}, #{standardType,jdbcType=VARCHAR})")
    int insert(Standard record);

    /**
     * 方法三:根据主键查询数据
     *
     * @param standardId
     * @return
     * @author 小辰哥哥
     */
    @Select("select standard_id, standard_name, standard_type from standard where standard_id = #{standardId,jdbcType=INTEGER}")
    Standard selectByPrimaryKey(Integer standardId);

    /**
     * 方法四:查询所有数据
     *
     * @return
     * @author 小辰哥哥
     */
    @Select("select standard_id, standard_name, standard_type from standard")
    List<Standard> selectAll();

    /**
     * 方法五:根据主键更新数据
     *
     * @param record
     * @return
     * @author 小辰哥哥
     */
    @Update("update standard set standard_name = #{standardName,jdbcType=VARCHAR}, standard_type = #{standardType,jdbcType=VARCHAR} where standard_id = #{standardId,jdbcType=INTEGER}")
    int updateByPrimaryKey(Standard record);

    /**
     * 方法六:多条件查询数据(动态sql)
     * 
     * 用<script></script>标签包围,然后像XML语法一样书写
     *
     * @param record
     * @return
     * @author 小辰哥哥
     */
    @Select("<script>"
            + "select standard_id, standard_name, standard_type from standard where 1=1 "
            + "<if test = \"standardName != null\">"
            + "and standard_name = #{standardName}"
            + "</if>"
            + "<if test = \"standardType != null\">"
            + "and standard_type = #{standardType}"
            + "</if>"
            + "</script>")
    List<Standard> selectByConditions(Standard record);
}

总结

每天一个提升小技巧!!!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
SpringBoot整合Mybatis注解是指在SpringBoot框架中使用Mybatis注解来进行数据库操作的一种方式。通过引入相应的依赖,配置文件和注解,可以方便地实现数据的增删改查操作。 在整合Mybatis注解时,首先需要在pom.xml文件中引入相关的依赖,包括mybatis-spring-boot-starter和mysql-connector-java。这些依赖会提供Mybatis和数据库连接的功能。 接下来,需要配置Mybatis的相关信息,例如数据库连接信息和Mapper接口的扫描路径。这些配置信息通常可以在application.properties或application.yml文件中进行配置。 在实体层(Entities)、dao层(Data Access Objects)、service层和controller层可以使用Mybatis注解来进行数据库操作。例如,在dao层的Mapper接口中使用@Insert、@Update、@Delete和@Select注解来定义相应的SQL语句。 最后,整个工程的结构可以根据实际需求进行组织,一般包括实体层、dao层、service层和controller层。 通过以上步骤,就可以实现SpringBootMybatis注解整合,实现对数据库的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringBoot整合Mybatis注解详细版](https://blog.csdn.net/weixin_42841433/article/details/102310489)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小辰哥哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值