日期: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 調用存儲過程
1
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名稱不相同