mybatis框架入門(一)

一.原生態的JDBC的問題

  1. 先看一個jdbc的一個實例
    @Test
    public void ConnectionToMysql4() {
    //定義引用
    Connection con=null;
    PreparedStatement pstmt=null;
    ResultSet rs=null;
    try {
    /**
    * 1.連接數據庫
    */
    String driverClassName=”com.mysql.jdbc.Driver”;
    String url=”jdbc:mysql://localhost:3306/UserLogin”;
    String username=”root”;
    String password=”123456”;

    Class.forName(driverClassName);
    con=DriverManager.getConnection(url, username, password);
        /**
         * 2.得到PrepareStatement
         *  >給出sql模板,所有參數用?代替
         *  >調用Connection方法,得到PrepareStatement
         *  
         */
    

    String sql=”select * from userinformation where username=? and password=?”;
    pstmt=con.prepareStatement(sql);
    /**
    * >爲參數賦值
    */
    pstmt.setString(1,”yyy”);//給第一個問號賦值
    pstmt.setString(2,”123”);//給第二個問號賦值

    rs=pstmt.executeQuery();//調用查詢方法,向數據庫發送查詢語句
    

    // System.out.println(sql);
    System.out.println(rs.next());
    // while(rs.next()){
    // System.out.println(rs.getString(0)+” “+rs.getString(1));
    // }

    } catch (Exception e) {
         throw new RuntimeException(e);
    
    }finally{
        //關閉
          try {
            if(rs!=null)rs.close();
            if(pstmt!=null) pstmt.close();
            if(con!=null)  con.close();
           } catch (SQLException e) {
            e.printStackTrace();
        }
    
    }
    

    }
    2.總結jdbc的問題如下:
    a.數據庫連接使用時創建,不使用時就釋放,對數據庫頻繁的開啓和關閉,造成數據庫資源的浪費,影響數據庫的性能。
    改善:那麼能不能用數據庫連接池來管理呢?
    b.將sql語句硬編碼到java中,如果sql語句修改了,需要重新java代碼,不利於系統維護。
    改善:能不能將sql語句添加到xml配置文件中呢,即使sql語句改變了,也不需要重新編譯。
    c.向preparedStatement中設置參數,用佔位符設置參數值,硬編碼到java代碼中,不利於系統的維護。
    改善:能不能將sql語句及佔位符號和全部參數配置到xml文件中?
    d.從ResultSet中遍歷結果數據時,存在硬編碼的問題,將獲取表的字段硬編碼,不利於系統維護。
    改善:能不能將結果集自動映射成java對象。

二.mybatis的簡介

  1. mabatis是什麼
    a.mybatis是apache下的頂級項目,後託管到google、github.
    b.mabatis將程序主要sql上,通過mabatis提供的映射方式,自由靈活的生成(半自動化,大部分需要程序員編寫sql)滿足需要的sql語句。
    c.mybatis可以將preparestatement中輸入的參數自動進行輸入映射,將查詢結果自動映射成java對象(輸出映射)。

  2. mybatis框架圖解
    這裏寫圖片描述
    至此,mybatis基本結構已介紹完。

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