框架篇之mybatis

日期:2018-04-24

1

參數 String  推薦加上toString()

2

場景:比較常量

推薦:  '常量值'.toString,

日期:2018-04-26

mybatis中,dao.xml中,如果使用的if標籤進行數據判斷,那麼則可以

非String類型  

<if test='price != null'></if>

String類型

<if test='name != null' and name != '' ></if>

即:String的判斷可以多寫個‘’的判斷

  非String的判斷,可以不用寫[數字/價格/日期]

日期:2018-04-30

1

resultMap  resultType 不能同時存在

日期:2018-06-01

dao.xml循環集合

說明:

1=集合判斷 [非空和size>0]

2= 查詢字段

3=集合[類中指定,並生成set/get方法]

4=循環提中的具體對象

5=分隔符[查詢關鍵字爲in時,使用逗號;查詢關鍵字爲like時,使用 || ]

日期:2018-6-27

dao.xml 調用存儲過程

statementType=" CALLABLE"-固定寫法

2

mode

=in ->輸入

=out ->輸出

controller:傳參

日期:2018-9-13

1>#與$的區別

安全性:#可以防止sql注入

傳參區別:$通過傳入數據庫對象

2>標籤

一對多的標籤:assocition

多對多的標籤:collection

日期:2019-3-12

日期:3-12
1>Mybatis 核心組件/生命週期
SqlsessionFactoryBuilder|創建sqlsession|方法局部
SqlSessionFactory|創建sqlsession|應用的整個生命週期|單例
SqlSession|請求數據庫處理事務|線程不安全
SQL Mapper|sqlsession事務之內|方法級別

2>獲取SqlSessionFactory方式
Xml配置;代碼方式

3>SqlSessionFactory
defaultSqlSessionFactory(使用);SqlSessionManager(沒有使用)

4配置方式/優先級
通過方法傳遞屬性>resource>properties屬性中指定的屬性

5>EnumTypeHandler
EnumOrdinalTypeHandler|mybatis默認枚舉類型處理器

6>org.apache.ibatis.reflection.factory. DefaultObjectFactory

7>
transactionManager|type=jdbc/manager(jndi)/自定義
datasource|type=非連接池數據庫/連接池數據庫/jndi/自定義

8>引入映射器

Mappers
Mapper|resource/name/class/url

9>
Mybatis默認情況下 只開啓一級緩存

2>sqlsession下的對象

Ececutor|statementhandler|parameterhandler|resulthandler

日期:2019-4-28

>>MyBatis中主鍵回填的兩種實現方式
1>inser標籤中添加:useGeneratedKeys/keyProperty屬性
2>inser標籤中嵌套selectKey標籤

>>MyBatis的事務管理分爲兩種形式:
1>JdbcTransaction使用JDBC的事務管理機制
2>ManagedTransaction使用MANAGED的事務管理機制。讓程序的容器如(JBOSS,Weblogic)來實現對事務的管理。

日期:2019-6-5

mybatis 錯誤:
apped Statements collection does not contain value for......
解決思路:
1、mapper.xml中沒有加入namespace 
2、mapper.xml中的方法和接口mapper的方法不對應
3、mapper.xml沒有加入到mybatis-config.xml中(即總的配置文件),例外:配置了mapper文件的包路徑的除外 
4、mapper.xml文件名和所寫的mapper名稱不相同

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章