jdbc:
jdbc是Java提供的原生態接口,操作數據庫的唯一技術
缺點:重復寫代碼,代碼寫死,耦合性高,開發效率低換數據庫比較苦難
優點:運行速度最快,所有操作數據庫的技術底層都是jdbc寫的
jpa:
java persistence api 持久規范,他是ORM對象關系型數據庫映射的規范,不用寫sql語句,面向對象的
優點:數據庫移植快,一級二級緩存,查詢,提高性能(ehcache框架實現緩存)
缺點:查詢所有的時候,find性能無法控制,無法干預sql語句的生成,對sql語句要求高的話,
jpa是為了讓面向對象設置的,為了不寫sql語句而設置的(幾十張表寫sql語句關聯,那種才是高手,本人三張表的sql語句就很頭疼)
springjdbc jdbcTemplate模板數據庫簡化對數據庫的操作,他是sping提供的
spring data jpa是對jpa規范的再次抽象,底層還是用的實現jpa的hibernate技術(entitymanager)。
hibernate是一個標准的orm框架,實現jpa接口(好像是session)。
mybatis也是一個持久化框架,但不完全是一個orm框架,不是依照的jpa規范,她需要些sql語句,半ORM。