關於mybatis搭建(xml方式)

什麼是mybatis

     mybatis是一個優秀的基於java的持久層框架,它內部封裝了jdbc,使開發者只需要關注sql語句本身,而不需要花費精力去處理加載驅動、創建連接、創建statement等繁雜的過程。
     mybatis通過xml或註解的方式將要執行的各種statement配置起來,並通過java對象和statement中sql的動態參數進行映射生成最終執行的sql語句,最後由mybatis框架執行sql並將結果映射爲java對象並返回.
     我們以前沒學mybatis的時候用的jdbc,一句一句的寫的挺頭疼的,用了框架之後我們就開發更快,縮短開發時間,這裏所說的持久層是三層架構的一層,三層架構是:表現層,業務層,持久層,三層是一種軟件架構,而MVC是一種模式,後面這幾句話是我自己的理解

本文摘自源地址
在這裏插入圖片描述

爲什麼要學習mybatis

     因爲 框架幫我們做了底層的事情,我們不需要關注底層代碼的編寫,讓我們開發更加方便

mybatis環境搭建

這裏採用了maven來搭建,如果還沒學maven的話就是下載jar包導入jar包了,可以去mybatis官網去下載他們的jar包

  • 開發工具 IDEA2018
  • 構建工具maven3.5
  • mysql-5.7
  • mybatis-3.5.4
    我們可以按照 官網所說的一步步來,你百度搜索mybatis官網也可以
    mybatis官網官方文檔
    點擊入門
    在這裏插入圖片描述
    這裏首先,打開你的編輯器,我這裏用的是IDEA,這個界面怎麼打開的我真的不想再說了但是啊,我的同學既然發問過我,我就寫下吧
    在這裏插入圖片描述
    你們以前創建好的項目,都是每次默認,打開的以前寫的項目
    在這裏插入圖片描述
    你只需要呢,點擊關閉,這個項目就可以了,close project
    在這裏插入圖片描述
    這裏,就不用採用骨架了,因爲,只需要查查,數據庫,到控制檯看下就可以了

在這裏插入圖片描述
這裏因爲怕錄製的GIF大小超過5M就節約了點等待的時間,因爲CSDN上面是不能上傳5M以上的GIF

在這裏插入圖片描述
上面有版本信息,用最新的也沒事,如果你想用舊版本可以去maven倉庫去找,當然你也可以用國內的倉庫地址,至於怎麼找到這個連接地址,只需要去百度搜索 maven repository,如果需要你安全驗證的話,你就輸入驗證碼就可以了,進去自己搜索
maven倉庫地址
這裏多提一嘴,這裏是看以前版本的自己點擊第一個就可以找pom依賴了
在這裏插入圖片描述
   如果上面有說錯的請聯繫我QQ 1423228256,因爲你要查數據庫肯定少不了,連接驅動mysql-connect-java,上面那個有一個springboot整合mybatis的啓動器,不是springboot的啓動器,也懶得改了,當你學到springboot的時候會發現一個新大陸
在這裏插入圖片描述

 <!-- 導入依賴 -->
   <dependencies>
       <!-- mybatis依賴跟版本 -->
       <dependency>
           <groupId>org.mybatis</groupId>
           <artifactId>mybatis</artifactId>
           <version>3.5.4</version>
       </dependency>
       <!-- 因爲自己要測試就導入junit -->
       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.12</version>
       </dependency>
       <!-- 驅動 -->
       <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.6</version>
       </dependency>
   </dependencies>

在這裏插入圖片描述
   這裏給大家看一個IDEA連接 連接數據庫的方便,這張GIF錄好被壓縮過,如果你不知道這個東西的話,第一次使用,點擊的下面的一個,什麼反正差不多意思是下載的意思,我忘記了,點他一下就可以跟我一樣了,位置我忘記了,是爲了大家方便,就給大家演示了下,怕小白不知道
在這裏插入圖片描述
在這裏插入圖片描述
到這裏我們去創建一個數據庫,複製粘貼SQL語句就可以了
在這裏插入圖片描述

create database mybatis;
use mybatis;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(32) NOT NULL COMMENT '用戶名稱',
  `birthday` datetime default NULL COMMENT '生日',
  `sex` char(1) default NULL COMMENT '性別',
  `address` varchar(256) default NULL COMMENT '地址',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert  into `user`(`username`,`birthday`,`sex`,`address`) values ('adger','2020-04-03 16:47:15','男','長沙');

   我下面 使用的 快捷鍵是 Alt + Insert(筆記本上面可能是Alt + Fn + F12),實體類,已經創建好了,順便擴展下,實體類 != javaBean,Bean 在計算機中是有可重複使用組件的意思,我決定還是再給大家擴展下,關於這個實體類,我記得還有一個插件,可以加上幾個註解,就可以生成一個實體類,那個插件的名字叫,Lombok,關於這個實體類,有很多叫法,有的叫,domain,pojo等等
在這裏插入圖片描述
   至於javaBean爲什麼一定寫private,我覺得是一種javaBean的規範,再提供一個公開的set get 方法,然後再寫一個dao接口,接口寫完,就開始配置mybatis環境了
在這裏插入圖片描述
去官網,看這句話,先不要看上面的
在這裏插入圖片描述
去官網,複製,粘貼,就可以了,現在不要急,這些不用記,但是你必須得看的懂,記得下面的mapper中的resources自己改下,這裏mybatis喜歡叫mapper我自己喜歡一致性,就叫這個名字了,如果你的XML配置報錯,你就回車幾下,再放回原樣
在這裏插入圖片描述
在這裏插入圖片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- mybatis的主配置文件 -->
<configuration>
    <!-- 配置環境 -->
    <environments default="development">
        <!-- 配置mysql環境 -->
        <environment id="development">
            <!-- transactionManager 事務類型  -->
            <transactionManager type="JDBC"/>
            <!-- 配置數據源,也叫連接池,type="有三個類型"-->
            <dataSource type="POOLED">
                <!-- 配置連接數據庫得基本信息 8.0的版本注意後面加上
                ?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true 	
					mysql jar包也要引入高版本的 
					<dependency>
					<groupId>mysql</groupId>
					<artifactId>mysql-connector-java</artifactId>
					<version>8.0.11</version>
					</dependency>
 				-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 指定映射配置文件的位置,映射配置文件指的是每個dao獨立的配置文件 -->
    <mappers>
        <mapper resource="club/adger/dao/UserDao.xml"/>
    </mappers>
</configuration>

然後再去創建映射配置文件
在這裏插入圖片描述
複製粘貼,過去,自己改改就這麼簡單,雙擊類或者方法就可以了,複製全限定類名,對了Ctrl + / 快速生成註釋,Ctrl + Shift + / 快速生成文檔註釋
在這裏插入圖片描述

<?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">
<!-- 這裏的namespace屬性是你dao接口的全限定類名 -->
<mapper namespace="club.adger.dao.UserDao">
    <!-- select 中的id 屬性 不能隨便亂寫,必須是你dao接口中的方法名 -->
    <!-- resultType 是把結果集封裝在你的實體類 -->
    <select id="findAll" resultType="club.adger.entity.User">
    select * from user
  </select>
</mapper>

再寫一個測試類
在這裏插入圖片描述

		//1.讀取配置文件
        InputStream in = Resources.getResourceAsStream("mybatis.xml");
        //2.創建SqlSessionFactory工廠
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);
        //3.使用工廠生產SqlSession對象
        SqlSession session = factory.openSession();
        //4.使用SqlSession創建Dao接口的代理對象
        UserDao userDao = session.getMapper(UserDao.class);
        //5.使用代理對象執行方法
        List<User> users = userDao.findAll();
        for(User user : users){
            System.out.println(user);
        }
        //6.釋放資源
        session.close();
        in.close();

注意事項

ORM:
Object Relational Mappging 對象關係映射
簡單的說:
就是把數據庫表和實體類及實體類的屬性對應起來
讓我們可以操作實體類就實現操作數據庫表。

	實體類中的屬性和數據庫表的字段名稱保持一致。
		user					User
		id						id
		username				username

總結

    mybatis的環境搭建
第一個:創建UserDao.xml 和 UserDao.java時名稱是爲了,(個人習慣)保持一致。
在Mybatis中它把持久層的操作接口名稱和映射文件也叫做:Mapper
所以:UserDao 和 UserMapper是一樣的,叫法
第二個:mybatis的映射配置文件位置必須和dao接口的包結構相同
第三個:映射配置文件的mapper標籤namespace屬性的取值必須是dao接口的全限定類名
第四個:映射配置文件的操作配置(select),id屬性的取值必須是dao接口的方法名

	當我們遵從了第2,3,4點之後,我們在開發中就無須再寫dao的實現類。
  1. 創建maven工程並導入座標
  2. 創建實體類和dao的接口
  3. 創建Mybatis的主配置文件 mybais.xml
  4. 創建映射配置文件 UserDao.xml
  5. 測試

擴展

在這裏插入圖片描述
這是一個模板,怎麼搞呢,打開設置

File and Code Templates
/**
 * Created with IntelliJ IDEA.
 * @Auther: Adger
 * @Date: ${YEAR}/${MONTH}/${DAY}/${TIME}
 */

**@Auther 後面改名字,自己的名字,注意類名第一個字母大寫,我這裏隨便寫的,加油,奧裏給,有興趣可以加我QQ羣一起交流討論 793858121 **
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章