Mybatis學習記錄

一、根據xml配置建立一個sqlsessionfactory的對象
 有數據源的一些運行環境信息
 二、sql映射文件,配置了每個sql,以及sql的封裝規則
 三、將sql註冊在全局配置文件中
四、coding
 1)根據全局配置文件獲得SqlsessionFactory
 2)試用sqlsession工廠,獲取到sqlsession對象試用它來執行增刪改查
 一個sqlsession就是表明與數據庫的一次對話,用完關閉(close)
 3)使用sql惟一標識該告訴mybatis執行哪一個sql,sql都是保存在sql映射文件中sql

 

 

 

 

String resource = "mybatis-config.xml";數據庫

InputStream inputStrem = Resource.getResoureceAsStream(resource);session

SqlsessionFactory sessionFactory = new SqlSessionFactoryBuilder().Builder(resource);//獲取sqlsessionfactory對象mybatis

 SqlSession opensession = sessionFactory.openSession();//使用opensession方法獲取sqlsession對象oracle

 

加載數據庫信息-->建立sqlsession工廠-->用OpenSession()方法建立sqlsession,每一個sqlsession都是一個數據庫查詢實例app

//獲取接口的實現類對象
//會爲接口自動的建立一個代理對象,代理對象去執行增刪改查方法ui


EmployeeMapper mapper = opensession.getMapper(EmployeeMapper.class);//獲取接口的實現類對象
Employee empById = mapper.getEmpById(1);//調用接口的方法
System.out.println(mapper.getClass());
System.out.println(empById);代理

 

 傳多個參數時候須要加上@Param(「xx」)。xml

用註解來簡化xml配置的時候,@Param註解的做用是給參數命名,參數命名後就能根據名字獲得參數值,正確的將參數傳入sql語句中 對象

 

 jdbc oracle

 

 mybatis 在接口類中傳參

 

 

#{}和${}的區別:

我的理解就是#{}防止sql注入 

${}用於處理sql語句中動態填入的部分,例如某個圖書的info表 書名_info_tbl,這時候書名就該直接拼接進來。又以下圖樣例中年份工資表和排序規則。無法sql預編譯,只能拼接。

 

相關文章
相關標籤/搜索