-
從集合中取出一條數據查看全部
-
Mybatis中的OGNL表達式查看全部
-
一、獲取自增主鍵值: <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.imooc.bean.Command"> insert into command(name,description) values(#{name},#{description}) </insert> //解析:添加數據(在主外鍵的關系中)可以使用 useGeneratedKeys="true",可獲取自增長的id,并配合keyProperty="id"(java中實體類的屬性名)指定該對象的主鍵值。 二、找不到namespace.id的異常效果: 1、在Configuration.xml沒有配置<mappers><mapper resource="*.xml"></mapper></mappers>; 2、在1的配置中或selectList("Message.queryMessageList",message);中,名字寫錯。 三、排查SQL語法錯誤:如果控制臺出現SQL語句問題,復制到SQL軟件上執行,若有參數,手動寫上并執行。 四、不要過度使用${}。 五、亂碼問題: 1. servlet傳參時的編碼:request.setCharacterEncoding("utf-8");或直接使用過濾器; 2. Java文件本身的編碼; 3. 連接數據庫的參數中,設定編碼方式:jdbc:mysql://192.168.1.1:3306/cms?characterEncoding=utf-8 4. 數據庫、表的編碼; 5. 展示頁面的編碼:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6. 瀏覽器編碼問題等。查看全部
-
一、resultMap和resultType:當配置resultType時,就不需要配置resultMap,看似resultType方便,但是會被受限制,沒有resultMap開放多。 相同點:都是表示查詢結果集的類型。 不同點: resultMap需要手動配置映射關系,而resultType是直接指定java類型或者自定義的實體類型,查詢結果集的列名必須和實體屬性名稱一致(實體類:名稱大小寫可以忽略;java類型,如Map集合的key大小寫要一致,盡量都大小寫規范,如果不放心可以select ID id,...)。 優缺點: 1、resultType結果集列名要與java屬性名一樣,但是resultMap不受限制,因為resultMap有column來規定。 2、由于SQL類型與Java中類型部分不匹配,resultMap可以通過typeHandler=""來匹配(如:SQL中的0和1來表示java中的false和true;Date類型的轉換),但是resultType無能為力。 二、parameterMap和patameterType: 表示傳入參數的對應關系,前者不推薦使用,只是mybatis為了適應以前的版本。 提示:看到Map字眼的想到映射關系,看到Type字眼的想到類型。 三、#{}和${}: 相同點:都是用來作為占位符。 不同點:#{}在預編譯的時候會唄替換為?,而${}在預編譯的時候直接將變量的值替換進去,而且沒有引號(所以還要加上“'${...}'”),故一般都是用前者,個別情況會使用后者:如需進行排序,且排序字段為參數時可以使用${}(order by后面不喜歡被預編譯,所以使用${}更為恰當)。 四、#{}和ognl:在#{}中如果是基本類型,其中的名稱可以隨便寫(不推薦),但一般都用_parameter,因為值唯一,而ognl中必須寫成_parameter的方式。查看全部
-
f查看全部
-
mybatis常用的標簽,其中select查詢時不應該使用*號而是使用各列名,sql用來定義常量,多用于定義經常使用到的列名,然后通過include標簽引用查看全部
-
配置多對一關系映射用在子表的xml的resultMap標簽中使用association標簽,用法和一對多一樣查看全部
-
column指的是select查詢后的列名而不是表的列名,如果select語句定義了別名,則column的值則應該寫對應的別名,且忽略前綴,在這個多表查詢中有兩個ID則有一個需要定義別名mybatis才能識別查看全部
-
mybatis xml配置一對多的關系,在resultMap標簽中添加collection標簽,其中property屬性是主類的那個子類的集合屬性名,resultMap屬性是子表的xml文件的映射,即子表的xml中的resultMap標簽的id,當然也要加上該xml的namespace查看全部
-
log4j結合mybatis,設置日志輸出級別。查看全部
-
foreach標簽中的separator屬性可以幫我們分割每一次循環的內容,如separator=“,”,那每一次循環的內容后面就會自動幫我們加上‘,’,且最后一項不添加查看全部
-
mybatis中的foreach標簽的使用查看全部
-
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n //%d產生日志的時間, %t是產生日志所處的線程名稱, %-5p輸出日志的級別,將占5位字符,不足5位用空格填補,-指的是在右邊補齊, %c你輸出日志的包以及類的全名, %m是你附加的信息 %n是換行 log4j.rootLogger=DEBUG,Console 輸出的級別和輸出的位置 log4j.logger.org.apache.ibatis=ERROR 特定包下的特定級別 log4j.appender.Console=org.apache.log4j.ConsoleAppender 配置控制臺的類 log4j.appender.Console.layout=org.apache.log4j.PatternLayout //配置布局 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n查看全部
-
藍色這一塊不是ognl表達式,而是mybatis自己處理的查看全部
-
沒有把提示、中的ognl表達式的取值寫法與操作符查看全部
舉報
0/150
提交
取消