精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

你還在用Mybatis?試試這款神器,縱享絲滑

開發 項目管理
Fluent Mybatis 是一個基于 Mybatis 的擴展庫,它提供了更加簡潔、易讀的 API,使得我們能夠更加高效地進行數據庫操作。 本文將介紹如何使用 Fluent Mybatis 進行基本的增刪改查操作。

在 Java 項目中,我們經常需要與數據庫進行交互,而 Mybatis 是一個流行的持久層框架,它可以將 Java 對象映射到 SQL 語句,從而簡化數據庫操作。

不過在使用  Mybatis 做開發時,最頭痛的事情就是處理復雜業務查詢,如果將業務轉移到service層,就會增加訪問數據庫的次數。

如果放到dao層,就要手動在xml中寫復雜的sql,用插件自動生成mapper時,會覆蓋xml中的修改,非常讓人頭疼

Fluent Mybatis是什么

Fluent Mybatis 是一個基于 Mybatis 的擴展庫,它提供了更加簡潔、易讀的 API,使得我們能夠更加高效地進行數據庫操作。

本文將介紹如何使用 Fluent Mybatis 進行基本的增刪改查操作。

使用 Fluent Mybatis 很簡單,分為以下5步:

1. 環境準備

在開始使用 Fluent Mybatis 之前,我們需要確保已經安裝了 Java 開發環境、Maven 以及 MySQL 數據庫。接下來,我們需要在項目的 pom.xml 文件中添加 Fluent Mybatis 的依賴:

<dependencies>
<!--引入fluent-mybatis運行依賴包,scope為compile-->
        <dependency>
            <groupId>com.github.atool</groupId>
            <artifactId>fluent-mybatis</artifactId>
            <version>1.9.3</version>
        </dependency>
        <!--引入fluent-mybatis-processor,scope設置為provider編譯需要,運行時不需要-->
        <dependency>
            <groupId>com.github.atool</groupId>
            <artifactId>fluent-mybatis-processor</artifactId>
            <version>1.9.3</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>2.6.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
</dependencies>

2. 定義表結構

CREATE TABLE `user_info` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
  `user_name` varchar(64) DEFAULT NULL COMMENT '用戶名稱',
  `user_age` int NOT NULL DEFAULT '0' COMMENT '用戶年齡',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用戶信息表';

3. 定義PO類

@FluentMybatis(table = "user_info") // 定義表名稱
@Data
public class UserInfoEntity extends RichEntity {

    private Long id;

    private String userName;

    private Integer userAge;

    @Override
    public Class<? extends IEntity> entityClass() {
        return UserInfoEntity.class;
    }
}

4. 編譯生成對應的mapper類

mvn clean compile

自動生成如下類:

圖片圖片

5. 配置數據源

首先,我們需要配置 Mybatis 的相關信息,如數據源、SQL 會話工廠等。這里,我們使用 Spring Boot 進行配置:

@ComponentScan(basePackages = "com.test")
@MapperScan("com.test.mapper")
@Configuration
public class DataSourceConfig {

    @Bean
    public DataSource dataSource() {
        final HikariDataSource dataSource = new HikariDataSource();
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8");
        dataSource.setUsername("root");
        dataSource.setPassword("1234");
        return dataSource;
    }

    /**
     * 定義mybatis的SqlSessionFactoryBean
     *
     * @param dataSource
     * @return
     */
    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        return bean;
    }

    @Bean
    public MapperFactory mapperFactory() {
        return new MapperFactory();
    }
}

如何使用 Fluent Mybatis?

下面我們使用 Fluent Mybatis 進行增刪改查的基本操作演示:

4.1 插入(Insert)

public class UserServiceTest {

    @Autowired
    private UserInfoMapper mapper;
    
    @Test
    public void insert() {
        UserInfoEntity entity = new UserInfoEntity();
        entity.setUserAge(10);
        entity.setUserName("zhangsan");
        mapper.insert(entity);
    }
}

在這個示例中,我們首先創建了一個新的 UserInfoEntity 對象,并設置了其 userName 和 userAge 屬性。然后,我們調用 UserInfoMapper.insert(entity) 方法將新用戶插入到數據庫中。

4.2 查詢(Select)

public class UserService {
    @Autowired
    private UserInfoMapper mapper;
    
    @Test
    public void select() {
        UserInfoEntity entity = mapper.findOne(mapper.query()
                .where.userName().like("zhangsan").end()
                .limit(1));
        System.out.println(entity);
    }

在這個示例中,我們展示了如何使用 Fluent Mybatis 進行不同類型的查詢操作。我們可以根據用戶名模糊查詢用戶。

4.3 更新(Update)

public class UserService {
    @Autowired
    private UserInfoMapper mapper;

    @Test
    public void update() {
        mapper.updateBy(mapper.updater()
                .set.userName().is("lisi")
                .set.userAge().is(20).end()
                .where.id().eq(1L).end()
        );
    }
}

在這個示例中,我們首先根據 ID 查詢到需要更新的用戶。然后,我們修改用戶的 name 和 age 屬性,并調用 UserMapper.updateBy() 方法將更新后的用戶信息保存到數據庫中。

4.4 刪除(Delete)

public class UserService {
    @Autowired
    private UserInfoMapper mapper;

    @Test
    public void delete() {
        mapper.delete(mapper.query()
                .where.id().eq(1L).end());
    }
}

在這個示例中,我們展示了如何使用 Fluent Mybatis 進行刪除操作。我們可以根據 ID 刪除用戶。

4.5 join查詢

@Test
    public void joinQuery() {
        JoinBuilder<FreeQuery> joinBuilder = null;
        UserInfoQuery leftQuery = UserInfoQuery.query().selectAll();
        UserInfoQuery rightQuery = UserInfoQuery.query().select.id("right_id").end(); // 添加別名
        joinBuilder = JoinBuilder.from(leftQuery).join(rightQuery).onEq("id", "id").endJoin().build(); // join條件
        FreeQuery iQuery = new FreeQuery(joinBuilder.build(), "sub").select("id", "user_name", "user_age"); // 輸出查詢字段

        List<UserInfoEntity> userInfoEntities = mapper.listPoJos(UserInfoEntity.class, iQuery);
        System.out.println(userInfoEntities);
    }

在這個示例中,我們展示了如何使用 Fluent Mybatis 進行join查詢操作。我們將表user_info自身進行join,以id作為連接條件。

總結

通過以上示例,我們可以看到 Fluent Mybatis 提供了一套簡潔、易讀的 API,使得我們能夠更加高效地進行數據庫操作。同時,它還支持鏈式編程,讓代碼更加簡潔。如果你正在使用 Mybatis 進行數據庫操作,那么不妨嘗試一下 Fluent Mybatis,它或許會給你帶來更好的開發體驗。

責任編輯:武曉燕 來源: 小李哥編程
相關推薦

2021-01-18 18:42:33

工具調優開發

2022-03-18 13:59:46

緩存RedisCaffeine

2022-12-20 09:09:27

ViteWebpack

2023-09-07 07:35:59

JS操作網頁

2025-10-28 01:45:00

setTimeouAPI日志

2012-07-19 10:03:32

2025-06-25 08:10:00

screentmux運維

2024-11-12 16:28:34

2023-08-01 07:45:52

2021-11-19 11:50:48

MyBatisforeachJava

2020-03-04 14:05:35

戴爾

2025-04-02 08:47:23

DOM文檔結構API

2025-07-29 08:05:37

2022-07-15 07:58:18

SteampipeCLI 工具

2023-01-05 07:55:59

Zookeeper服務注冊

2023-09-27 07:49:23

2024-03-21 08:55:41

享元模式對象內存

2023-02-01 10:40:01

2020-05-14 13:35:59

開源視頻 技術
點贊
收藏

51CTO技術棧公眾號

久久一区二区三| 午夜精品中文字幕| 三级无遮挡在线观看| 免费国产自线拍一欧美视频| 国产一区二区三区直播精品电影| 艹b视频在线观看| 污视频网站免费在线观看| 99精品欧美一区| 国产精品久久久久久久久久99| 91久久久久久久久久久久久久 | 人体精品一二三区| 国产精品av久久久久久无| 久久精品一级| 色哟哟在线观看一区二区三区| 一区二区三区av在线| 欧美熟妇乱码在线一区| 日本亚洲欧美天堂免费| 欧美激情精品久久久久久蜜臀 | 亚洲一线在线观看| 激情综合亚洲| 久久精品视频在线观看| 亚洲专区区免费| 国产精品免费精品自在线观看 | 久久精品国产视频| 日韩aaaaa| 国产日韩一区二区三免费高清| 狠狠色噜噜狠狠狠狠97| 亚洲美女自拍偷拍| 国产剧情在线观看| 波波电影院一区二区三区| 国产欧美在线视频| 亚洲成人第一网站| 亚洲黄页一区| 美日韩在线视频| 免费看黄色三级| 亚欧日韩另类中文欧美| 日韩午夜av电影| 伊人色在线观看| 午夜无码国产理论在线| 午夜精彩视频在线观看不卡| www国产免费| 日本在线观看网站| 国产精品丝袜久久久久久app| 久久久精品国产一区二区三区| 亚洲av少妇一区二区在线观看| 黄页视频在线91| 国产精品视频精品视频| 日韩电影在线观看一区二区| 亚洲免费精品| 欧美激情精品久久久久| 久久亚洲国产成人精品性色| 欧美激情自拍| 欧美激情欧美激情在线五月| 日本老熟俱乐部h0930| 9999国产精品| 久久综合五月天| 三上悠亚作品在线观看| 国产精品91一区二区三区| 国产一区二区三区三区在线观看| 亚洲一级中文字幕| 国产剧情一区| 最近2019好看的中文字幕免费| 成人国产精品久久久网站| 综合色就爱涩涩涩综合婷婷| 亚洲女人被黑人巨大进入al| 一级黄色片大全| 清纯唯美日韩| www.亚洲男人天堂| 国产高潮国产高潮久久久91| 综合色一区二区| 欧美福利视频在线| 日韩av免费网址| 国产精品视频| 国产精品都在这里| 亚洲天堂中文在线| 国产一区二区精品在线观看| 97av自拍| 天堂在线中文字幕| 国产欧美视频一区二区| 一区二区三区四区五区视频| 黄色免费在线看| 夜夜亚洲天天久久| 日韩欧美视频网站| 成人在线爆射| 欧美一级日韩免费不卡| 欧美激情 亚洲| 婷婷亚洲成人| 日韩一区在线视频| 国产真实乱人偷精品视频| 午夜在线一区| 国产欧美日韩精品专区| 不卡视频在线播放| 2023国产一二三区日本精品2022| 亚洲精品tv久久久久久久久| 羞羞视频在线观看不卡| 狠狠久久亚洲欧美专区| 亚洲视频第二页| 国产精品99久久免费观看| 亚洲视频在线观看视频| 亚洲一级二级片| 亚洲免费网站| 国产主播欧美精品| 欧美自拍偷拍第一页| 亚洲国产精品ⅴa在线观看| 中文字幕色呦呦| 久久久久久久| 欧美不卡一区二区三区| 永久免费成人代码| 欧美日韩精品一本二本三本| 国产成人av网| 黄色av中文字幕| 国产精品免费av| 国产精品国产亚洲精品看不卡| 国产成人福利夜色影视| 亚洲国产精品视频在线观看| 国产精品69久久久久孕妇欧美| 夜久久久久久| 91久久精品www人人做人人爽 | 日韩一级特黄| 亚洲另类图片色| 久久久久无码精品国产| 美女免费视频一区| 久久亚洲综合网| 在线中文字幕第一页| 91电影在线观看| 91玉足脚交白嫩脚丫| 亚洲视频在线免费| 国产精品一区二区久久久久| 五月天婷婷视频| 亚洲激情成人在线| 热久久久久久久久| 欧美色爱综合| 热草久综合在线| 日本美女一级片| 亚洲精品中文字幕在线观看| 手机看片福利盒子久久| 亚洲另类春色校园小说| 国产69精品久久久久9| av一级黄色片| 亚洲欧美视频在线观看| av污在线观看| 色呦哟—国产精品| 国产精品精品国产| 国产大学生校花援交在线播放 | 国产精品成人久久电影| 免费观看亚洲天堂| 久久精品一区中文字幕| 国产男男gay网站| 亚洲欧洲美洲综合色网| 91欧美视频在线| 日韩一区二区在线免费| 国产精品私拍pans大尺度在线| 免费国产在线视频| 色乱码一区二区三区88| 日韩乱码人妻无码中文字幕久久| 亚洲深夜影院| 欧美欧美一区二区| 欧美第一视频| 亚洲香蕉伊综合在人在线视看| www.欧美色| 国产欧美一区二区在线| av在线无限看| 久久伦理在线| 亚洲va欧美va国产综合剧情| caoporn免费在线视频| 欧美一级理论片| 欧美人妻精品一区二区免费看| 国产成人综合自拍| 成人免费性视频| 久久久久观看| 国产suv精品一区二区| 成人在线播放视频| 91精品久久久久久久99蜜桃| 激情五月婷婷小说| 成人h动漫精品一区二区| 成人在线免费在线观看| 国产欧美日韩在线一区二区| 国产精品影院在线观看| 欧美极品另类| 日韩一级二级三级精品视频| 免费一级全黄少妇性色生活片| 国产麻豆一精品一av一免费| 免费日韩在线观看| 久久精品福利| 国产精品视频地址| 毛片在线播放a| 91精品国产aⅴ一区二区| 午夜免费激情视频| 91麻豆国产香蕉久久精品| 黑人粗进入欧美aaaaa| 亚洲久久久久| 久久人人97超碰人人澡爱香蕉| 欧美日韩在线精品一区二区三区激情综合| 日韩最新免费不卡| 韩国中文字幕hd久久精品| 色哟哟欧美精品| 在线视频这里只有精品| 成人精品视频一区二区三区| 日韩av播放器| 欧美精品91| 青青草久久网络| 亚洲成人偷拍| 国产精品久久久久久av福利| 激情av在线播放| 中文在线不卡视频| 深爱激情五月婷婷| 91.麻豆视频| 天天综合天天干| 亚洲视频图片小说| 免费在线观看污| 成年人午夜久久久| 91pony九色| 久久综合九色综合欧美狠狠| 国产精品三级一区二区| 精品视频免费| 国产在线一区二区三区播放| 亚洲电影二区| 日韩免费av一区二区| 18aaaa精品欧美大片h| 日韩中文在线中文网三级| 天堂a√中文在线| 精品欧美一区二区在线观看| 中文天堂在线资源| 色综合视频在线观看| 久久免费精彩视频| 最好看的中文字幕久久| 美女100%无挡| 99精品1区2区| 第一页在线视频| 久久99精品国产.久久久久久| 国产精品69页| 校园春色综合网| 国内精品视频一区二区三区| 一区二区中文字| 精品久久免费观看| 日韩在线视屏| 日本一区视频在线| 九九亚洲视频| 久久久人人爽| 欧美挤奶吃奶水xxxxx| av免费观看久久| 日本精品视频| 亚洲综合成人婷婷小说| 亚洲久草在线| 成人免费淫片视频软件| 日韩免费在线电影| 国产精品一区二区女厕厕| 成人看片毛片免费播放器| 国产第一区电影| 日韩成人影音| 国产精品十八以下禁看| 成人软件在线观看| 国产精品白嫩美女在线观看 | 亚洲va欧美va人人爽午夜| 久久久久久久久精| 亚洲综合一二区| 日本系列第一页| 亚洲图片欧美一区| 激情五月色婷婷| 欧美性xxxxhd| www.久久久久久久| 欧美日韩视频第一区| 中文字幕无码乱码人妻日韩精品| 欧美日韩精品一区视频| 91亚洲国产成人久久精品麻豆 | 国产野外作爱视频播放| 日本视频一区二区| av中文字幕网址| 国产精品一区免费在线观看| 国产吃瓜黑料一区二区| 成人av网站在线观看| 久久中文字幕人妻| 国产精品美女久久久久av爽李琼| 成年人网站在线观看视频| 亚洲色图欧美激情| 日本三级视频在线| 日韩欧美精品在线观看| 91成品人影院| 精品国产露脸精彩对白| 飘雪影视在线观看免费观看| 中文字幕av一区二区| 91精选在线| 91精品国产高清久久久久久91| 粉嫩一区二区三区| 亚洲自拍高清视频网站| 精品午夜电影| 亚洲精品在线免费看| 综合久久婷婷| 日韩欧美精品在线观看视频| 美女www一区二区| 中文字幕18页| 国产亚洲成aⅴ人片在线观看 | 欧美在线视频网站| 免费成人高清在线视频| 国产精品一区免费观看| 国产探花在线精品一区二区| 日韩人妻一区二区三区蜜桃视频| 一区二区三区国产盗摄 | 久久久久香蕉视频| 色94色欧美sute亚洲线路一ni| 国产精品久久久国产盗摄| 精品91自产拍在线观看一区| 成人免费在线电影| 久久久久久久香蕉网| 日韩高清成人| 国产乱码精品一区二区三区中文 | 亚洲成色www久久网站| 欧美精品一区二区三区久久久竹菊| 97超碰青青草| 国产乱理伦片在线观看夜一区| 精品人妻一区二区三区香蕉| 亚洲人成网站精品片在线观看| 国产剧情在线视频| 日韩天堂在线观看| 成人午夜在线观看视频| 91精品国产精品| 国产精品一站二站| 日产国产精品精品a∨| 影音先锋中文字幕一区二区| 中文字幕视频三区| 久久丝袜美腿综合| 精品午夜福利视频| 欧美一区二区三区影视| 第一视频专区在线| 4438全国成人免费| 国产精品115| 日韩成人午夜影院| 日韩电影在线观看电影| aaaaa一级片| 亚洲成年人影院| www.日本在线观看| 久久精品男人天堂| 黑人一区二区三区| 欧美自拍资源在线| 国产精品色网| 中国极品少妇videossexhd| 一区二区免费看| 国产av一区二区三区精品| 最新国产精品拍自在线播放| 欧美日韩成人影院| 欧美日韩精品久久久免费观看| 亚洲精品女人| 手机在线成人av| 亚洲.国产.中文慕字在线| 亚洲精品成人电影| 欧美大秀在线观看| 亚洲网址在线观看| 日韩欧美猛交xxxxx无码| 国产精品亚洲综合一区在线观看| 中文字幕在线2021| 欧美一区二区成人6969| 黄视频在线观看网站| 91丝袜脚交足在线播放| 亚洲天堂免费| 国产性猛交96| 亚洲成人一区二区在线观看| 人妻无码中文字幕免费视频蜜桃| 欧美精品久久久久久久免费观看| 91久久精品无嫩草影院| 大西瓜av在线| 99re成人在线| 中文在线第一页| 色妞久久福利网| 国产精品久久久久久久久久久久久久久| 综合视频在线观看| 国产一区二区91| 国产成人精品亚洲男人的天堂| 亚洲成人在线网| 亚洲天堂资源| 亚洲精品美女久久7777777| 精品一区二区免费| 免费中文字幕在线观看| 亚洲精品电影网站| 丝袜美腿诱惑一区二区三区| 五月婷婷综合色| 国产精品一二一区| 国产专区第一页| 色偷偷888欧美精品久久久| 欧美国产中文高清| 精品无码国模私拍视频| 国产日韩v精品一区二区| 国产精品久久久久久免费 | 日韩成人一区二区| 99成人在线观看| 亚洲精品在线电影| 欧美大片免费| av磁力番号网| 99re亚洲国产精品| 波多野结衣一本一道| 久久成人精品视频| 日韩超碰人人爽人人做人人添| 中文字幕av专区| 亚洲国产人成综合网站| av女名字大全列表| 91精品免费久久久久久久久| 日韩一级免费| 日本不卡一区视频| 欧美精品一区二区三区一线天视频| 日本在线精品| www.日本少妇|