1、MyBatis;和數(shù)據(jù)庫進(jìn)行交互乌叶;持久化層框架梅桩;-----》半自動(dòng)化框架
?? ?1)汉矿、從原始的JDBC-----DBUtils(QueryRunner)-----JdbcTemplate-----xxx愕乎;(不用的)
?? ??? ?? ? 稱為工具阵苇;
?? ??? ?? ? 1)麻煩:(原生JDBC)
?? ??? ?? ? 2)sql語句是硬編碼在程序中的;耦合(數(shù)據(jù)庫層的和Java編碼部分耦合)
? ? 2)感论、Hibernate-數(shù)據(jù)庫交互的框架(ORM框架:)(使用各種框架)----》全自動(dòng)框架
?? ??? ?? ? ORM(Object Relation Mapping) 對(duì)象關(guān)系映射
?? ??? ??? ?創(chuàng)建好JavaBean绅项;
?? ??? ?? ? ? ?---》
?? ??? ??? ??? ??? ?? ? @Table(“t_employee”)
?? ??? ??? ??? ??? ??? ?class Employee{
?? ??? ??? ??? ??? ??? ??? ?? ? private Integer empId;
?? ??? ??? ??? ??? ??? ??? ??? ?private String empName比肄;
?? ??? ??? ??? ??? ??? ?}? ?
?? ??? ??? ??? ??? ?? ? session.get("1",Employee.class);
?? ??? ??? ??? ??? ?? ? 缺點(diǎn):
?? ??? ??? ??? ??? ??? ??? ?? ? 1)快耿、定制sql;
?? ??? ??? ??? ??? ??? ??? ?? ? 2)芳绩、HQL掀亥;SQL;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3)、全映射框架妥色;部分字段映射很難铺浇,能做;
?? ??? ??? ??? ??? ??? ??? ?? ? 希望:最好有一個(gè)框架能支持定制化sql垛膝,而且還功能強(qiáng)大鳍侣;sql也不要硬編碼在java文件中(導(dǎo)致維護(hù)修改起來比較麻煩)
1)、MyBatis將重要的步驟抽取出來可以人工定制吼拥,其他步驟自動(dòng)化倚聚;
2)、重要步驟都是卸載配置文件中(好維護(hù))凿可;
3)惑折、完全解決數(shù)據(jù)庫的優(yōu)化問題;
4)枯跑、MyBatis底層就是對(duì)原生JDBC的一個(gè)簡(jiǎn)單的封裝惨驶;
5)、既將java編碼與sql抽取了出來敛助,還不會(huì)失去自動(dòng)化功能粗卜;-----》半自動(dòng)的持久化層框架