• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Day61 Mybatis框架入門

    開發前的準備

    開發工具的更換:eclipseEE+MySQL+tomcat7.0+jre1.7
    開發工具由Myeclipse換成eclipse.
    Myeclipse和eclipse開發Web項目的區別:
    編碼準備:在eclipse的dropins文件夾下集成io.emmet.eclipse_1.0.0.201304090013.jar 實現前端代碼
    提示功能,如果需要SVN集成,需要在此文件夾下放入SVN,site1.8下的features文件和plugins文件
    2、編寫時候默認是web3.0
    區別:
    名稱: 創建Dynamic web Project
    1、需要在創建項目時指定tomcat和Jre.執行時右鍵項目 run as.
    2、    eclipse 由于是Web3.0,所以沒有靜態web.xml文件,每個servlet的映射要在各自的文件中類前一行寫
    @WebServlet("/別名")
    3、不自動生成帶有JSTL標簽庫,需要將myeclipse的jar包在此導入。
    4、WebContent就是Myeclipse的WebRoot,src在Java Resources文件夾下。
    5、集成MySQL數據庫jar包。
    注意:
    如果在創建項目的時候忘了指定tomcat服務器,那么就會提示沒有導入響應的jar包。
    需要在builde path->configure builde path->libraries->add library->server Runtime下重新指定tomcat的路徑,導入響應的jar包。
    導入別人的項目的時候也會出現此種情況。
    SQL語句 : comment  相當于java里面的注釋。
    id int(10) not null auto_increment comment '花卉ID',
    JSP區別:
    需要改動三個utf-8
    
    
    
    
    
    

    Mybitis的介紹

    Mybatis:Mybatis 開源免費框架.原名叫iBatis,2010在google code,2013年遷移到github
    
    MyBatis 是一款優秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 JavaPOJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。
    

    知識體系

    Mybatis的課程大綱:
        框架的概念
        MyBatis基于SqlSession對象完成單表單參數的增刪改查
        Mybatis基于代理模式完成單表多參數的增刪改查
        Mybaris基于代理模式完成SQL語句動態拼接的增刪改查
        Mybatis基于代理模式完成多表查詢
        Mybatis的緩存和ThreadLocal封裝
        Mybatis的運行原理

    eclipse的熟悉使用

    使用MVC完成花卉管理系統的簡單功能

    高級軟件介紹:
            開發工具:eclipse mars2.0
            jdk:1.7
            服務器:tomcat
            數據庫:mySQL
        命名規范:
            包名:
                com.bjsxt.包名
                com.bjsxt.dao
                com.bjsxt.dao.impl
                com.bjsxt.service
                com.bjsxt.service.impl
                com.bjsxt.servlet
                com.bjsxt.pojo vo entry
                com.bjsxt.util
                com.bjsxt.filter
                com.bjsxt.listener
                com.bjsxt.exception
            高級包名:
                com.bjsxt.mapper
                com.bjsxt.service
                com.bjsxt.service.impl
                com.bjsxt.controller
                com.bjsxt.pojo
            類名:
                類名必須首字母大寫
            方法名:
                駝峰原則
            變量名:
                駝峰原則
        基于MVC完成花卉管理系統:
            需求文檔:在飛秋中下載即可
            1 完成數據庫設計
                創建數據庫
                    基于界面方式
                    基于MYSQL命令方式:
                        使用任意一個現有數據庫打開命令窗口
                        create database 數據庫名 default character  set utf8
                        切換數據庫 use 數據庫名
                在創建的數據庫中創建花卉信息表
                    create table flower(
        id int(10) not null auto_increment comment '花卉ID',
        name varchar(100) not null comment '花名',
        price float not null comment '價格',
        production varchar(200) not null comment '產地',
                        primary key(id)
                    )comment '花卉信息表'
                添加測試數據:
                    insert into flower values(default,'矮牽牛',2.5,'南美阿根廷');
                    insert into flower values(default,'百日草',5.0,'墨西哥');
     insert  into flower values(default,'半枝蓮',4.3,'巴西');
            2 開始編碼設計(基于MVC)
                在eclipse中創建web項目。
                    file-->Dynamic web poject
                    注意:
                        在彈出的窗口中書寫項目明
                        在Target runtime中選擇或者配置該項目要運行的服務器環境
                            單獨進行運行環境的配置:
                                點擊New runtime-->選擇tomcat7.0--->next-->點擊Browse選擇服務器的路徑
                                然后在jre中選擇安轉的jdk環境,如果選項中沒有,點擊installed jres,配置JDK環境即可
                        如果在新建項目時沒有配置tomcat環境,則JSP文件會報錯,需要手動的配置server  runtime
                                項目右鍵--->Build path --->configure build path--->Libraries--->add libraries-->service runtime 
                創建項目模版:
                    創建包
                    導入項目所需jar包
                查看所有的花卉信息
                    點擊按鈕發送查看請求到servlet
                        --------------------------->servlet
                                調用業務層對象獲取花卉信息
                                將信息存儲到request作用域中
                                請求轉發給jsp文件
                                    -------------------------->service
                                        調用dao層去數據庫中獲取花卉信息
                    注意:
                        在jsp中遍歷顯示所有的花卉信息,但是需要手動導入jstl的相關jar包
                        使用注解方式配置Servlet的別名:在Servlet的類名上使用@WebServlet("/別名")
                添加花卉信息      
        eclipse項目默認發布路徑介紹:
    eclipse工作空間路徑\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
    
    

    框架學習

    框架的概念:
            軟件的半成品。
            其實框架就是專門處理某一類問題的代碼的封裝。
        框架的特點:
            提升開發效率。
        框架的形成:
            示例:數據庫操作
            問題:數據庫操作,增刪改查,但是發現在寫發代碼時,除了sql語句參數,返回值等不同以外,代碼的重復率達到了80%以上。
            解決:
                對代碼進行封裝(相同的保留,不同的傳參)。
            實現:
                查詢:
                    sql語句,參數,返回類型
                增加:
                    sql語句,參數
                修改:
                    sql語句,參數
                刪除:
                    sql語句,參數
            使用:
                第一種方式:
                    將封裝的源碼文件全部給需要使用的人,將源碼文件復制到項目中。
                    將封裝代碼配套的使用文檔給使用的人
                    缺點:
                        源碼數量如果比較多的話,會造成項目編譯效率底下。項目代碼體系結構混亂。
                第二種方式:
                    將封裝代碼打壓成jar文件,將jar文件給需要使用的人
                    將封裝代碼配套的使用文檔給使用的人
                    優點:
                       在不影響原有代碼結構的基礎下,使用別人的代碼。
    

    第一個Mybatis程序

    Mybatis簡介:
                原名為ibatis,一個基于java的持久層框架。
            特點:
                簡單易學
                解除Sql與程序代碼的耦合。
        MyBatis搭建流程(第一個Mybatis程序):
            導入myBatis相關jar包(別忘了還有數據庫的jar包)還有myBatis依賴的相關jar包
            創建并完成配置文件的書寫
                數據庫連接相關的配置文件:
                    在src下創建mybatis.xml
                    在mybatis文件中加載DTD文件:
                        <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
                    并在mybais文件中配置相關數據:
                        <!-- 聲明數據庫連接環境 -->
                            <!--創建并聲明具體的數據庫環境  -->
                                <!--聲明事務管理  :使用原生事務管理,事務還是由程序員自己編寫事務管理代碼-->
                                <!--配置數據源 -->
                        <!--配置mapper  -->
                SQL語句的配置文件:
                    在src下創建包com.bjsxt.mapper
                    在mapper包中創建xml文件用來存儲sql參數信息
                    在xml文件中加載DTD
                        <!DOCTYPE mapper
      PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                    在xml文件中創建并配置SQL語句
                        <!--創建查詢sql語句  -->
        <select id="selF" resultType="com.bjsxt.pojo.Flower">
            select * from flower
        </select>
            id屬性是唯一標識一條SQL語句的
            resultType:返回值類型,規定了查詢結果的每條結果的存儲方式。
                    注意:mapper標簽的namespace屬性值是用來唯一標識一個xml配置文件信息的
                            格式為包名+文件名,例如:com.bjsxt.mapper.FlowerMapper
            使用Mybatis的對象操作數據庫
                獲取配置文件的流對象:
                    InputStream is = Resources.getResourceAsStream("mybatis.xml");
                創建SqlSession工廠對象
                    SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
                創建SqlSession對象
                    SqlSession ss=factory.openSession();
                使用SqlSession對象操作數據庫
        流程詳解:
            mybatis.xml文件解釋:
            mapper.xml文件解釋:
        MyBatis的三種查詢方式(基于SqlSession對象完成):
            第一種:
                selectList(String sqlpath):返回存儲了查詢數據的list集合,適用于查詢多條數據
            第二種:    
                selectOne(String sqlpath):返回查到的一條指定的記錄,適用于查詢某條記錄
            第三種:
                selectMap(String sqlpath):返回存儲了指定數據的map集合
        Map<String,Map<String,Object>> map=ss.selectMap("com.bjsxt.mapper.FlowerMapper.selMap", "id");
    
    注意: id可以為pojo類的任何屬性,  也就是Map里的值存的是一條完整的數據。
    

    MyBatis配置文件源碼

    MyBatis配置文件源碼:
    <?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">
    <configuration>
        <!-- 聲明數據庫連接環境          default屬性是 environment標簽的ID,確定使用的數據庫環境-->
        <environments default="mysql">
            <!--創建并聲明具體的數據庫環境       id屬性唯一標識一個聲明的數據庫環境 -->
            <environment id="mysql">
                <!--聲明事務管理  :type屬性聲明數據庫的事務管理方式 ,使用原生事務管理,事務還是由程序員自己編寫事務管理代碼 -->
                <transactionManager type="JDBC"></transactionManager>
                <!--配置數據源   type屬性聲明使用數據庫連接池技術-->
                <dataSource type="POOLED">
                    <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="1234"/>
                </dataSource>
            </environment>
        </environments>
        <!--配置mapper  配置mapper.xml文件路徑,可以配置多個-->
        <mappers>
            <mapper resource="com/bjsxt/mapper/FlowerMapper.xml"/>                 注意此處是以/分割開,而不是.
        </mappers>
    </configuration>
    -----------------------------------------------------------------------------------------------------
    Mapper.xml配置文件示例源碼:
        <?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.bjsxt.mapper.FlowerMapper">
    
        <!--創建查詢sql語句  -->
        <select id="selF" resultType="com.bjsxt.pojo.Flower">
            select * from flower
        </select>
        <select id="selOne" resultType="com.bjsxt.pojo.Flower">
    select *from flower where id=1
    </select>
    <select id="selMap" resultType="map">
    select *from flower
    </select>
            </mapper>
    --------------------------------------------------------------------------------------------------------
    Mybatis操作數據庫示例代碼:
            //獲取配置文件流對象
            InputStream is = Resources.getResourceAsStream("mybatis.xml");
            //獲取SqlSession工廠對象
            SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
            //獲取SqlSession對象
            SqlSession ss=factory.openSession();
    
            //使用ss對象操作數據庫
            List<Flower> lf=ss.selectList("com.bjsxt.mapper.FlowerMapper.selF");
            System.out.println(lf);
            //使用ss對象操作數據庫
            Flower f=ss.selectOne("com.bjsxt.mapper.FlowerMapper.selOne");
            System.out.println(f);
            //使用ss對象操作數據庫
            Map<String,Map<String,Object>> map=ss.selectMap("com.bjsxt.mapper.FlowerMapper.selMap", "id");
            System.out.println(map);
    
    

    小結

    開發前的準備
    eclipse的使用
    Mybatis框架介紹
    第一個Mybatis程序

    附:第一個程序的包圖:
    這里寫圖片描述

    版權聲明:本文為qq_21953671原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_21953671/article/details/79692549

    智能推薦

    mybatis框架入門(一)

    文章目錄 一、MyBatis簡介 (一)什么是MyBatis (二)為什么要使用MyBatis 二、MyBatis入門 (一)準備數據,創建庫和表 (二)創建工程,導入所需jar包、創建測試類 (三)添加mybatis-config.xml文件 (四)添加EmpMapper.xml文件 (五)添加并編寫Emp實體類 (六)實現測試類,并測試 三、MyBatis入門細節 (一)mybatis-con...

    Python爬蟲day7—Scrapy框架入門

    Scrapy爬蟲框架入門 概述 Scrapy是Python開發的一個非常流行的網絡爬蟲框架,可以用來抓取Web站點并從頁面中提取結構化的數據,被廣泛的用于數據挖掘、數據監測和自動化測試等領域。下圖展示了Scrapy的基本架構,其中包含了主要組件和系統的數據處理流程(圖中帶數字的紅色箭頭)。 組件 Scrapy引擎(Engine):Scrapy引擎是用來控制整個系統的數據處理流程。 調度器(Sche...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    猜你喜歡

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    styled-components —— React 中的 CSS 最佳實踐

    https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...

    精品国产乱码久久久久久蜜桃不卡