springboot集成mybatis使用

本文介绍MyBatis如何通过注解和XML映射的方式集成到Spring中,并提供了具体的实现步骤,包括实体类定义、DAO层操作接口以及业务逻辑层的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mybatis可以集成在spring中或者是springboot中,两种方式的使用略有不同,可以支持xml映射和注解两种方式

1、注解:

(1)在application.properties中添加配置

mybatis.type-aliases-package=com.database_02.mybatis_02_2.entity
author.realname=tomcat
author.nickname=nginx

(2)entity实体定义

public class Author {
    private Long id;
    @JSONField(name="real_name")
    private String realName;
    @JSONField(name="nick_name")
    private String nickName;

    // SET和GET方法
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getRealName() {
        return realName;
    }
    public void setRealName(String realName) {
        this.realName = realName;
    }
    public String getNickName() {
        return nickName;
    }
    public void setNickName(String nickName) {
        this.nickName = nickName;
    } 
}

(3)dao层封装sql操作

@Mapper
public interface AuthorMapper {

    @Insert("insert into t_author(real_name, nick_name) values(#{real_name}, #{nick_name})")
    int add(@Param("realName") String realName, @Param("nickName") String nickName);

    @Update("update t_author set real_name = #{real_name}, nick_name = #{nick_name} where id = #{id}")
    int update(@Param("real_name") String realName, @Param("nick_name") String nickName, @Param("id") Long id);

    @Delete("delete from t_author where id = #{id}")
    int delete(Long id);

    @Select("select id, real_name as realName, nick_name as nickName from t_author where id = #{id}")
    Author findAuthor(@Param("id") Long id);

    @Select("select id, real_name as realName, nick_name as nickName from t_author")
    List<Author> findAuthorList();
}

(4)service层逻辑封装使用

@Service("mybatis.authorService")
public class AuthorService {

    @Autowired
    private AuthorMapper authorMapper;

    public int add(String realName, String nickName) {
        return this.authorMapper.add(realName, nickName);
    }

    public int update(String realName, String nickName, Long id) {
        return this.authorMapper.update(realName, nickName, id);      
    }

    public int delete(Long id) {
        return this.authorMapper.delete(id);
    }

    public Author findAuthor(Long id) {
        return this.authorMapper.findAuthor(id);
    }

    public List<Author> findAuthorList() {
        return this.authorMapper.findAuthorList();
    }
}

2.xml映射

(1)在resource/mybatis/AuthorMapper.xml,添加application.properties配置

mybatis.mapper-locations=classpath*:mybatis/*Mapper.xml
author.realname=tomcat
author.nickname=nginx

(2)entity实体映射

public class Author {
    private Long id;
    @JSONField(name="real_name")
    private String realName;
    @JSONField(name="nick_name")
    private String nickName;

    // SET和GET方法
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getRealName() {
        return realName;
    }
    public void setRealName(String realName) {
        this.realName = realName;
    }
    public String getNickName() {
        return nickName;
    }
    public void setNickName(String nickName) {
        this.nickName = nickName;
    } 
}

(3)mapper

public interface AuthorMapper2 { 
    Author findAuthor(@Param("id") Long id);
}

(4)service层

@Service("mybatis.authorService2")
public class AuthorService2 {

    @Autowired
    private AuthorMapper2 authorMapper;

    public Author findAuthor(Long id) {
        return this.authorMapper.findAuthor(id);
    }
}

3.总结:

(1)mybatis注解及xml两种使用方式,添加jar配置即可。
(2)这里仅是基本的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值