1、JDBC
Class.forName("com.mysql.jdbc.Driver");
Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/demo", "root", "123456");
PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql);
pstmt.setString(1, "");
pstmt.executeUpdate();
pstmt.close();
conn.close();
傳統的JDBC做一次數據庫操作,需要4個操作,類加載、獲取連接、執行sql、關閉連接。 它的工作量大,業務和技術混合在一起,並且需要手動關閉連接。對於使用者來說,它非常不友好。
2、什么是ORM模型?
orm英文意思是對象關系映射 Object-relation-mapper,簡單理解就是將數據庫表與java實體對象做一個映射。
orm的優點:符合面向對象編程;技術與業務解耦,開發時不需要關注數據庫的連接與釋放;
常用的orm模型有:hibernate和mybatis,互聯網公司一般都使用mybatis。
hibernate的缺點:全表映射;無法自定義組裝sql;對復雜sql的支持弱,對sql調優不友好;不支持存儲過程;性能差。
hibernate的優點:適合小型系統,開發快。
3、mybatis的優缺點
優點:基於底層sql,sql優化方便;容易學習,高度靈活;
缺點:代碼量大【可利用MGB —— mybatis代碼生成器】
4、mybatis的三要素
mapper.xml、dao接口、entity實體類。
5、mybatis一次連接
SqlSessionFactoryBuilder:讀取配置信息創建SqlSessionFactory,它的生命周期僅僅限於創建。
SqlSessionFactory:它用來創建Sqlsession。它的生命周期是整個應用,在應用啟動時創建,應用停止時消亡。
Sqlsession:一次sql會話,可以直接發送sql執行,也可以調用dao與mapper映射的sql語句執行,它是線程不安全的,必須保證線程獨享。
6、mybatis的配置方式
基於xml:即編寫mapperXml文件。
基於注解:即利用@Select @Insert @update 等等。 這種方式基本上不使用。它有很多缺點:編寫負責,主要是字符串拼接麻煩,不易於編寫負責sql語句;如果業務變動,代碼調整幅度太大,即不易於擴展,伸縮性差。
