概要
優(yōu)秀的持久層層框架。
支持惹谐, 定制化的sql, 存儲(chǔ)過程, 高級(jí)映射驼卖;
避免了: ?幾乎所有的jdbc代碼中的手動(dòng)設(shè)置參數(shù)氨肌,獲取結(jié)果集。
支持xml和注解來配置和映射原生信息酌畜,來完成把 接口和pojo影射成為數(shù)據(jù)庫的記錄怎囚;
安裝
maven引入 mybatis即可;
入口類: SqlSessionFactory
代碼構(gòu)造: ?new SqlSessionFactoryBuilder().build(configuration);
基礎(chǔ)配置數(shù)據(jù): ?數(shù)據(jù)源檩奠,事務(wù)管理器 , 映射器 mapper
從小到大的配置順序: ?SqlSessionFactory ? -> Configuration -> Environment -》 datasource , transactionManager , mapper
面向Sql的操作主類: SqlSession
實(shí)例:
SqlSession session = sqlSessionFactory.openSession();
try{
? ? XxxMapper xxxMapper = session.getMapper(XxxMapper.class);
? Xxx xxx = xxxMapper.selectOne(456);
}finally{
? ? session.close();
}
一般直接得到mapper桩了, 定義好sql 或者參數(shù) ,剩下的交給mybatis來進(jìn)行埠戳;
簡(jiǎn)單的任務(wù)井誉,使用注解更加簡(jiǎn)潔;
作用域和生命周期理解清楚整胃;錯(cuò)誤的使用會(huì)帶來嚴(yán)重的并發(fā)問題颗圣;
SqlSessionFactoryBuilder ? 方法作用域;
SqlSessionFactory ? ? 應(yīng)用作用域
SqlSession ? ?方法或者請(qǐng)求作用域屁使,使用之后必須關(guān)閉在岂;
Mapper ? 方法作用域