通用Mapper快速上手

导读:本篇文章讲解 通用Mapper快速上手,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

通用Mapper使用


官方网站

通用Mapper常用方法

Select

方法 说明
List select(T record) 根据实体中的属性值进行查询,查询条件使用等号
T selectByPrimaryKey(Object key) 根据主键字段进行查询,方法参数必须包含完整的主键属性,查询条件使用等号
T selectOne(T record) 根据实体中的属性进行查询,只能有一个返回值,有多个结果是抛出异常,查询条件使用等号
int selectCount(T record) 根据实体中的属性查询总数,查询条件使用等号

Insert

方法 说明
int insert(T record) 保存一个实体,null的属性也会保存,不会使用数据库默认值
int insertSelective(T record) 保存一个实体,null的属性不会保存,会使用数据库默认值

Update

方法 说明
int updateByPrimaryKey(T record) 根据主键更新实体全部字段,null值会被更新
int updateByPrimaryKeySelective(T record) 根据主键更新属性不为null的值

Delete

方法 说明
int delete(T record) 根据实体属性作为条件进行删除,查询条件使用等号
int deleteByPrimaryKey(Object key) 根据主键字段进行删除,方法参数必须包含完整的主键属

Example 方法

还可延伸Creteria获取更多的方法调用

Example example = new Example(AppointManagement.class);
Example.Criteria criteria = example.createCriteria();
方法 说明
List selectByExample(Object example) 根据Example条件进行查询
int selectCountByExample(Object example) 根据Example条件进行查询总数
int updateByExample(@Param(“record”) T record, @Param(“example”) Object example) 根据Example条件更新实体record包含的全部属性,null值会被更新
int updateByExampleSelective(@Param(“record”) T record, @Param(“example”) Object example) 根据Example条件更新实体record包含的不是null的属性值
int deleteByExample(Object example) 根据Example条件删除数据

第一个方发的额外补充:

selectByExample(Object example)

这个查询支持通过Example类指定查询列, 通过selectProperties方法指定查询列

快速上手

使用mysql数据库,springboot,配置略

所需依赖

		<!--通用Mapper启动器-->
		<dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
        </dependency>
		<!--通用Mapper依赖-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>3.4.6</version>
        </dependency>

代码

实体类

@Table中的name:为表名
@ID:表示该字段为主键
@GenreateValue:自动递增主键

@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "t_word")
public class TWord {
    @Id
    @Column(name = "id")
    @GeneratedValue(generator = "JDBC")
    private Integer id;
    @Column(name = "name")
    private String name;
}

mapper接口

注意Mapper<>的包

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.Mapper;

public interface TWordMapper extends Mapper<TWord> {
    List<TWord> select();
}

调用

@SpringBootTest
class TkMapperApplicationTests {
    @Autowired
    private TWordMapper tWordMapper;

    @Test
    void contextLoads() {
        List<TWord> tWords = tWordMapper.selectAll();
        for (TWord tWord : tWords) {
            System.out.println(tWord);
        }
    }

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/63279.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!