老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

MyBatis集成方法是什么

這篇文章主要介紹“MyBatis集成方法是什么”,在日常操作中,相信很多人在MyBatis集成方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MyBatis集成方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

站在用戶的角度思考問題,與客戶深入溝通,找到固安網站設計與固安網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、網站建設、企業官網、英文網站、手機端網站、網站推廣、域名注冊、網絡空間、企業郵箱。業務覆蓋固安地區。

1 概述

MyBaits是一個著名的持久層框架,本文首先介紹了MyBatis的簡單使用,接著與Spring進行整合,最后簡單地使用了Generator去自動生成代碼。

2 MyBatis簡介

MyBatis本來是Apache的一個開源項目——iBatis,2010年由Apaceh Software Foundation遷移到了Google Code,并改名為MyBatis。

MyBatis是一個基于Java的持久層框架,提供的持久層框架包括SQL MapsData Access Objects,使用簡單的XML或者注解用于配置映射,將接口和POJO映射成數據庫中的記錄,是一個小巧、方便、高效、簡單、直接、半自動化的持久層框架。

3 工作原理

上圖:

MyBatis集成方法是什么

  • 讀取配置文件:mybatis-config.xml是全局MyBatis配置文件,配置了MyBatis運行環境信息

  • 加載映射文件:也就是SQL映射文件,配置了操作數據庫的SQL語句

  • 構造會話工廠:通過配置文件構造會話工廠SqlSessionFactory

  • 創建會話對象:由上一步的會話工廠創建會話對象SqlSession

  • 獲取MapperStatement:通過用戶調用的apiStatement ID獲取MapperStatement對象

  • 輸入參數映射:通過ExecutorMapperStatement進行解析,將各種Java基本類型轉化為SQL操作語句中的類型

  • 輸出結果映射:JDBC執行SQL后,借助MapperStatement的映射關系將返回結果轉化為Java基本類型并返回

4 MyBatis示例

首先先來看一下純MyBaits的示例,沒有整合Spring,一個簡單的Maven工程,項目結構如下:

MyBatis集成方法是什么

4.1 依賴


    org.mybatis
    mybatis
    3.5.5



    org.projectlombok
    lombok
    1.18.12




    mysql
    mysql-connector-java
    8.0.21

Gradle

compile group: 'org.mybatis', name: 'mybatis', version: '3.5.5'
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.21'

4.2 實體類

@Setter
@Getter
@Builder
public class User {
    private Integer id;
    private String name;

    @Override
    public String toString() {
        return "id:"+id+"\tname:"+name;
    }
}

4.3 映射文件

新建一個叫UserMapper.xml的映射文件:




    
        select * from user where id=#{id}
    
    
        select * from user
    

    
        INSERT INTO `user` (`id`,`name`)
        VALUES (#{id},#{name})
    

    
        UPDATE `user` set `name`=#{name} where id=#{id}
    

    
        DELETE FROM `user` WHERE `id` = #{id}
    

映射文件是一個XML文件,根元素為,需要注意其中的namespace屬性,調用的時候通過該namespace調用。其中的子元素表示SQL語句:

  •              select * from user                   INSERT INTO `user` (`id`,`name`)         VALUES (#{id},#{name})                   UPDATE `user` set `name`=#{name} where id=#{id}                   DELETE FROM `user` WHERE `id` = #{id}     

    namespace需要與對應包名的帶有@Mapper的類配置一致。

    5.2.2 MyBatis配置文件

    
    
    
        
            
        
    

    5.2.3 Spring配置文件

    
    
    
        
        
        
        
            
            
            
            
            
            
            
            
        
        
        
        
            
        
    
    	
        
    
    	
        
            
            
        
    
    	
        
            
            
        
    

    5.3 持久層

    需要加上@Mapper注解,表示自動裝配為MyBatis的映射接口,注意:

    • 映射文件中的namespace需要與包名.類名對應,比如這里的包為pers.dao,類名為UserDao,那么映射文件中的namespacepers.dao.UserDao

    • id需要與方法名對應,比如映射文件中的有一條select語句的idselectById,那么方法就需要命名為selectById,且參數類型需要對應一致

    @Repository
    @Mapper
    public interface UserDao {
        User selectById(Integer id);
        List selectAll();
        int insert(User user);
        int update(User user);
        int delete(Integer id);
    }

    5.4 業務層

    @Service
    @Transactional
    @RequiredArgsConstructor(onConstructor = @__(@Autowired))
    public class MyBatisService {
        private final UserDao dao;
    
        public void test(){
            User user = dao.selectById(13);
            System.out.println(user);
            dao.insert(User.builder().name("333").build());
            dao.update(User.builder().name("88888").id(13).build());
            dao.selectAll().forEach(System.out::println);
            dao.delete(12);
            dao.selectAll().forEach(System.out::println);
        }
    }

    注入UserDao后進行簡單的測試,結果如下:

    MyBatis集成方法是什么

    6 自動生成代碼

    相信很多程序員也討厭寫又長又麻煩的XML配置文件,因此,MyBatis也提供了一個生成器插件,可以直接從表中生成實體類、dao接口以及映射文件,可以省去很多操作。

    步驟如下:

    • 導入依賴

    • 編寫Generator配置文件

    • 生成代碼

    6.1 依賴

    其實就是加入一個插件:

    
        
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.4.0
                
                    
                    true
                    
                    true
                    src/main/resources/generatorConfig.xml
                
                
                    
                        mysql
                        mysql-connector-java
                        8.0.21
                    
                
            
        
    

    數據庫驅動請對應修改。

    至于Gradle版請看Kotlin版源碼。

    6.2 配置文件

    這里是參考別人的配置文件,修改數據庫連接、表名、包名即可:

    
    
    
        
        
        
        
            
            
                
                
                
            
            
            
            
            
                
                
                
                
            
            
            
            
                
                
                
                
                
                
                
                
            
            
            
                
                
            
            
            
            
            
            
        
    

    6.3 生成代碼

    MyBatis集成方法是什么

    雙擊生成即可:

    MyBatis集成方法是什么

    生成了實體類、dao接口以及mapper文件。

    到此,關于“MyBatis集成方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!


    分享標題:MyBatis集成方法是什么
    網址分享:http://www.xueling.net.cn/article/jeepie.html
在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 无码任你躁久久久久久老妇 | 久久久999久久久 | 午夜视频在线观看免费视频 | 亚洲私人影院 | 四区福利视频 | 国产成人久久精品 | 精品国产精品国产自在久国产 | 国产一区在线观看麻豆 | 国产高清免费av在线 | 人人爽亚洲AV人人爽AV人人片 | 久久精品亚洲酒店 | 人妖干美女 | 毛片免费全部播放无码私人 | 国产人妻无码一区二区三区免费 | 女人毛片| 天天干国产 | 久久国产精品久久喷水 | 最新中文字幕av无码专区不 | 国产精品av久久久久久毛片 | 亚洲高清一区二区三区 | 少妇裸体淫交视频免观看 | 色窝窝亚洲AV网在线观看 | 国产va在线视频 | 不卡中文一二三区 | av大片在线无码免费 | 日本爽快片100色毛片 | 成年人国产精品 | a一级黄 | 国产精品尹人在线观看 | 一区二区三区中文免费 | 亚洲精品国产自在现线看 | 一区二区三区四区视频在线观看 | 国产成人8x视频网站入口 | 免费无人区男男码卡二卡 | 亚洲国产七七久久桃花 | 日韩精品午夜 | xvideos国产在线观看 | 国产精品网站在线看 | 黄色录像a| 五月天色区| 大地资源网高清在线观看视频 |