老熟女激烈的高潮_日韩一级黄色录像_亚洲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
主站蜘蛛池模板: 国产精品久久久高清免费 | 青青草视频在线免费观看 | 不卡高清视频 | 亚洲精品自偷自拍无码忘忧 | 欧美一区二区免费在线观看 | 亚洲av永久综合在线观看红杏 | 国产美女一级二级三级chinese | 成人91av| 高清在线国产 | 激情春色 | 91一区二区三区久久久久国产乱 | 另类校园春色小说综合网 | 四虎影视在线影院在线观看免费视频 | 日韩美女在线观看 | 把腿张开抹春药调教男男 | 欧美激情视频一区二区三区 | 安眠药扒开女同学双腿玩弄 | 久久久久二区 | 99久久婷婷国产综合精品免费 | 青青久久久久 | 激情偷乱人伦小说视频在线精 | 欧美精品一区二区三区视频 | 老女BBWBBWBBWBBW高潮 | 日韩欧美福利 | av片中文字幕| 亚洲精品无码久久久久久久 | 欧美色欧美亚洲高清在线观看 | 久热这里只有精品99国产6 | 国产手机在线精品 | 久久55 | xxx黄色片 | 久久国产偷 | 日本丰满妇人成熟免费中文字幕 | 亚洲国产一区精品 | 极品尤物一区 | 国产精品久久久久久无 | 无码区日韩特区永久免费系列 | 欧美激情精品久久久久久不卡 | 国产成人免费视频网站视频社区 | 国产男女做爰猛烈叫床小说 | 蜜桃网站入口在线进入 |