主要有兩個配置文件,一個是主配置文件SqlConfig.xml,java
還有一個是dao接口實現類相對應的mapper的配置文件 。好比userDao的userDao.xml配置文件。sql
1.resultType 標籤數據庫
用在userDao.xml 中,用在增刪改查標籤中,用於指定結果的返回類型,好比說下面這樣。app
2.resultMap標籤dom
用在userDao.xml中,這個標籤能夠用來解決數據庫字段和實體字段名稱不匹配的問題,至關因而對咱們配置的數據庫表的字段起別名。用來和咱們實體字段匹配,一個對一個的匹配。spa
上面的 id=「userMap」 ,就是給這個resultMap標籤有一個惟一id,用來給下面的語句引用,type="domain.User" 表示咱們配置的是哪一個實體類,3d
下面的id表示主鍵相對應,result表示普通屬性。 記住:resultType和resultMap只能用一個,咱們若是用了resultMap就等於想要的id就能夠了,而後在查詢出結果返回時就會自動用這個裏面的屬性進行匹配。xml
3.#{}字符blog
它表示佔位符,至關於原來jdbc中sql語句中的?,用來在實際執行時替換實際的數據,具體數據是由#{}裏面的內容決定的,這是咱們須要傳入的參數。接口
4.select last_insert_id()
這是用來查詢自增加的id,若是咱們往數據庫中插入一條記錄,可是若是id是自增加的,那麼你若是取到這個id就能夠經過這個語句。
5.模糊查詢的%
對於模糊查詢咱們在sql語句中是不須要寫出%的,就只須要留一個#{string}就能夠,其餘的能夠在傳參的時候給出,這樣的話,sql中就會是這樣 like ?
6.#{}和${}的區別
#{}表示一個佔位符號經過#{}能夠實現preparedStatement向佔位符中設置值,自動進行java類型和jdbc類型轉換,#{}能夠有效防止sql注入。#{}能夠接收簡單類型值或pojo屬性值。若是parameterType傳輸單個簡單類型值,#{}括號中能夠是value或其它名稱。
${}表示拼接sql串經過${}能夠將parameterType傳入的內容拼接在sql中且不進行jdbc類型轉換,${}能夠接收簡單類型值或pojo屬性值,
若是parameterType傳輸單個簡單類型值,${}括號中只能是value。
7.properties屬性
是在SqlConfig.xml中的配置屬性。對於properties屬性,這是用來將數據庫鏈接信息和程序解耦,若是不用resource就是被註釋掉的內容,resource能夠用來引入另外的配置文件中的屬性配置。
8.typeAliases標籤
這是在SqlConfig中的配置,這個標籤就是用來給咱們的domain下的實體類起別名的,這個是在主配置文件中使用的,配置了之後就能夠在任意地方使用咱們配好的別名,至關於少些幾個字,package使用就能夠自動使別包下的類名看成別名。
9。mapper標籤
這是主配置文件中使用的標籤。表示映射器的意思,這樣使用就能夠自動找到咱們對應的每一個映射文件的位置,mappers標籤是大的mapper標籤的父類,裏面不少的mapper標籤,每一個都表示一個映射配置文件,而這個映射配置文件對應着一個dao的實現。