国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Mybatis-plus的使用

這篇具有很好參考價值的文章主要介紹了Mybatis-plus的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Mybatis-plus的使用

一、簡介

Mybatis-plus的基于mybatis的,簡化了單表mybatis的操作。

注意:它并沒有提升性能,只是簡化了開發(fā)過程。

二、在springboot中的基本使用

1、導(dǎo)入依賴

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.0</version>
</dependency>

2、添加相應(yīng)的數(shù)據(jù)庫配置(application.properties)

# 數(shù)據(jù)庫驅(qū)動:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 數(shù)據(jù)庫連接地址
spring.datasource.url=jdbc:mysql://localhost:3306/books?useUnicode=true&characterEncoding=utf-8
# 數(shù)據(jù)庫用戶名&密碼:
spring.datasource.username=root
spring.datasource.password=root
# mapper的路徑
mybatis-plus.mapper-locations=classpath*:/mapper/**/*.xml

3、在Application類上添加dao接口的路徑掃描

@SpringBootApplication
@MapperScan("com.qf.day15.dao")
public class Day15Application {
    public static void main(String[] args) {
        SpringApplication.run(Day15Application.class, args);
    }
}

4、編寫實體類

// 如果表名和實體類的名稱一致,如果屬性名和數(shù)據(jù)庫表中字段名一致,可以不配置任何實體相關(guān)內(nèi)容
@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

5、編寫dao接口

public interface UserDAO extends BaseMapper<User> {
}

6、測試使用

@SpringBootTest
class Day15ApplicationTests {
    @Resource
    private UserDAO userDAO;

    @Test
    void contextLoads() {
        List<User> list = userDAO.selectList(null);
        System.out.println(list);
    }
}
三、常用配置

1、實體類配置

當(dāng)實體類與表名不一致,字段名與屬性名不一致時,需要相應(yīng)的配置

@TableName 一般用來配置實體類對應(yīng)的表名,resultMap,以及忽略的屬性名(3.3.1以上的版本)等。

用在類上。

@TableId一般用來配置主鍵的增長方式,并且配置表中的主鍵字段的名稱。相當(dāng)于id標(biāo)簽

@TableField 一般用來配置表中列的名稱。相當(dāng)于result標(biāo)簽

@Version樂觀鎖標(biāo)記。

@Data
@TableName("tb_user")
public class User {
    @TableId(value = "u_id", type = IdType.AUTO)
    private Long id;
    @TableField("u_name")
    private String name;
    @TableField("u_age")
    private Integer age;
    @TableField("u_email")
    private String email;
}
四、常用方法
// 添加
int insert(T entity);
// 根據(jù)id刪除
int deleteById(Serializable id);

int deleteByMap(@Param("cm") Map<String, Object> columnMap);
// 根據(jù)where條件刪除
int delete(@Param("ew") Wrapper<T> wrapper);
// 批量根據(jù)ids刪除
int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);
// 根據(jù)id修改
int updateById(@Param("et") T entity);
// 根據(jù)where條件修改
int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);
// 根據(jù)id查詢對象
T selectById(Serializable id);
// 根據(jù)一組ids查詢集合
List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);

List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);
// 根據(jù)添加查詢單個對象
T selectOne(@Param("ew") Wrapper<T> queryWrapper);
// 根據(jù)添加查詢數(shù)量
Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);
// 根據(jù)添加查詢集合
List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);

List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);

List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);
// 分頁查詢
<E extends IPage<T>> E selectPage(E page, @Param("ew") Wrapper<T> queryWrapper);

<E extends IPage<Map<String, Object>>> E selectMapsPage(E page, @Param("ew") Wrapper<T> queryWrapper);

構(gòu)造查詢條件Wrapper

具體參考:https://mybatis.plus/guide/wrapper.html#in

public List<User> findAll(int age){
    QueryWrapper wrapper = new QueryWrapper();
    wrapper.gt("u_age", age);
    return userDAO.selectList(wrapper);
}
五、關(guān)聯(lián)查詢的實現(xiàn)

mybatis-plus對于關(guān)聯(lián)查詢本身需要mybatis來支持,所以可以寫mapper.xml來實現(xiàn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-484448.html

@Data
@TableName("book_type")
public class BookType {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    private String name;
}

@Data
@TableName(value = "books", resultMap = "bookMap") // 關(guān)聯(lián)xml中的resultMap配置
public class Book {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    private String name;
    private String author;
    @TableField("book_desc")
    private String bookDesc;
    @TableField("create_time")
    private Date createTime;
    private BookType type;
    @TableField("img_path")
    private String imgPath;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qf.day15.dao.BookDAO">
    <resultMap id="bookMap" type="com.qf.day15.entity.Book">
        <association property="type" column="type_id" select="com.qf.day15.dao.BookTypeDAO.selectById"></association>
    </resultMap>
</mapper>

到了這里,關(guān)于Mybatis-plus的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Mybatis-plus的使用

    Mybatis-plus的使用 一、簡介 Mybatis-plus的基于mybatis的,簡化了單表mybatis的操作。 注意:它并沒有提升性能,只是簡化了開發(fā)過程。 二、在springboot中的基本使用 1、導(dǎo)入依賴 2、添加相應(yīng)的數(shù)據(jù)庫配置(application.properties) 3、在Application類上添加dao接口的路徑掃描 4、編寫實體類

    2024年02月09日
    瀏覽(19)
  • Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代碼自助生成器

    Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代碼自助生成器

    引用官方文檔上的簡介: 提供交互式的Web UI用于生成兼容mybatis-plus框架的相關(guān)功能代碼,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定義模板以及各類輸出參數(shù),也可通過SQL查詢語句直接生成代碼。 文檔 github: https://github.com/davidfantasy/mybatis-plus-generator-ui gitee: https://g

    2024年02月10日
    瀏覽(24)
  • Mybatis-plus框架使用配置

    MyBatis-Plus(簡稱 MP)是一個基于 MyBatis 的增強(qiáng)工具,它對 Mybatis 的基礎(chǔ)功能進(jìn)行了增強(qiáng),但未做任何改變。使得我們可以可以在 Mybatis 開發(fā)的項目上直接進(jìn)行升級為 Mybatis-plus,正如它對自己的定位,它能夠幫助我們進(jìn)一步簡化開發(fā)過程,提高開發(fā)效率。 Mybatis-Plus 其實可以看

    2024年02月09日
    瀏覽(23)
  • Mybatis-Plus使用方法

    MyBatis-Plus 提供了豐富的增強(qiáng)版的 CRUD 方法,使得開發(fā)者能夠更簡潔、高效地進(jìn)行數(shù)據(jù)庫操作。以下是如何使用 MyBatis-Plus 自帶的增強(qiáng)版 CRUD 方法的基本步驟: 添加依賴 首先,確保你的 Maven 項目中已經(jīng)添加了 MyBatis-Plus 的相關(guān)依賴,包括核心依賴和數(shù)據(jù)庫驅(qū)動依賴。 xml復(fù)制代

    2024年04月11日
    瀏覽(19)
  • mybatis-plus與mybatis同時使用別名問題

    mybatis-plus與mybatis同時使用別名問題

    在整合mybatis和mybatis-plus的時候發(fā)現(xiàn)一個小坑,單獨使用mybatis,配置別名如下: XML映射文件如下: 單元測試發(fā)現(xiàn)沒有問題 添加mybatis-plus依賴后,單元測試報錯: 顯示無法解析XML映射文件中的student 解決辦法:要把配置文件里的別名配置改成mybatis-plus的配置,如下: 區(qū)別

    2024年04月13日
    瀏覽(23)
  • 基于Mybatis-Plus攔截器實現(xiàn)MySQL數(shù)據(jù)加解密

    基于Mybatis-Plus攔截器實現(xiàn)MySQL數(shù)據(jù)加解密

    用戶的一些敏感數(shù)據(jù),例如手機(jī)號、郵箱、身份證等信息,在數(shù)據(jù)庫以明文存儲時會存在數(shù)據(jù)泄露的風(fēng)險,因此需要進(jìn)行加密, 但存儲數(shù)據(jù)再被取出時,需要進(jìn)行解密,因此加密算法需要使用對稱加密算法。 常用的對稱加密算法有AES、DES、RC、BASE64等等,各算法的區(qū)別與優(yōu)劣

    2024年02月16日
    瀏覽(27)
  • 使用Mybatis-plus清空表數(shù)據(jù)

    方法一: ?方法二: 直接使用自帶的remove接口 ,同時使用QueryWrapper參數(shù)如: 引申一下?Mybatis-plus這個好用的框架: 我們知道 MyBatis 是一個基于 java 的持久層框架,它內(nèi)部封裝了 jdbc,極大提高了我們的開發(fā)效率。 但是使用 Mybatis 開發(fā)也有很多痛點: 每個 Dao 接口都需要自己

    2023年04月09日
    瀏覽(17)
  • 使用Mybatis-Plus問題解答

    使用Mybatis-Plus問題解答

    我們使用一個新的框架難免會遇到各種問題,當(dāng)然使用這款國產(chǎn)的優(yōu)秀的Mybatis-Plus框架也不例外,下面我就給大家列舉一下使用Mybatis-Plus可能遇到的一些問題,并做一下一一的解答。 1:如何排除非表的字段 (這個問題一定要注意,我們Java中寫的Entity類的屬性是和表的字段一

    2024年02月08日
    瀏覽(22)
  • mybatis-plus使用updateBatchById小記

    mybatis-plus使用updateBatchById小記

    過程? staff_info表里,我通過sql把entry_time字段先設(shè)置成2,然后再通過代碼設(shè)置成0,設(shè)置成2的時候一共有483條數(shù)據(jù),然后通過代碼修改的時候,我把number=0132791的數(shù)據(jù)設(shè)置成null,即更新這一條數(shù)據(jù)肯定會報錯,通過debug我知道number=2這條數(shù)據(jù)在更新的list中處于index=141的位置,所

    2024年02月12日
    瀏覽(16)
  • Mybatis-Plus 使用隱患,太坑了!

    Mybatis-Plus 使用隱患,太坑了!

    作者:糊涂碼 鏈接:https://juejin.cn/post/7156428078061895710 MP 從出現(xiàn)就一直有爭議 感覺一直 都存在兩種聲音 很方便啊 通過函數(shù)自動拼接Sql 不需要去XML 再去使用標(biāo)簽 之前一分鐘寫好的Sql 現(xiàn)在一秒鐘就能寫好 簡直不要太方便 侵入Service層 不好維護(hù) 可讀性差 代碼耦合 效率不行

    2024年02月05日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包