配置映射文件
SqlMapConfig.xml
配置mybatis的運(yùn)行環(huán)境甸怕,數(shù)據(jù)源、事務(wù)等。
根據(jù)用戶id(主鍵)查詢用戶信息
-
創(chuàng)建po類
3.png -
映射文件
映射文件命名:
User.xml(原始ibatis命名),mapper代理開發(fā)映射文件名稱叫XXXMapper.xml第步,比如:UserMapper.xml脑融、ItemsMapper.xml
在映射文件中配置sql語句喻频。
4.png -
在SqlMapConfig.xml加載映射文件
在sqlMapConfig.xml中加載User.xml:
5.png -
程序編寫
6.png
根據(jù)用戶名稱模糊查詢用戶信息
-
映射文件
使用User.xml,添加根據(jù)用戶名稱模糊查詢用戶信息的sql語句肘迎。
7.png -
程序代碼
8.png
添加用戶
-
映射文件
在 User.xml中配置添加用戶的Statement
9.png -
程序代碼
10.png -
自增主鍵返回
mysql自增主鍵甥温,執(zhí)行insert提交之前自動生成一個自增主鍵。
通過mysql函數(shù)獲取到剛插入記錄的自增主鍵:
LAST_INSERT_ID()
是insert之后調(diào)用此函數(shù)妓布。
修改insertUser定義:
1.png - 非自增主鍵返回(使用uuid())
使用mysql的uuid()函數(shù)生成主鍵姻蚓,需要修改表中id字段類型為string,長度設(shè)置成35位匣沼。
執(zhí)行思路:
先通過uuid()查詢到主鍵狰挡,將主鍵輸入 到sql語句中。
執(zhí)行uuid()語句順序相對于insert語句之前執(zhí)行
通過oracle的序列生成主鍵:
<selectKey keyProperty="id" order="BEFORE" resultType="java.lang.String">
SELECT 序列名.nextval()
</selectKey>
insert into user(id,username,birthday,sex,address) value(#{id},#{username},#{birthday},#{sex},#{address})
刪除用戶
-
映射文件
3.png -
代碼
4.png
更新用戶
-
映射文件
5.png -
代碼
6.png
附加
mybatis和hibernate本質(zhì)區(qū)別和應(yīng)用場景
hibernate:是一個標(biāo)準(zhǔn)ORM框架(對象關(guān)系映射)释涛。入門門檻較高的加叁,不需要程序?qū)憇ql,sql語句自動生成了唇撬。
對sql語句進(jìn)行優(yōu)化殉农、修改比較困難的。
應(yīng)用場景:
適用與需求變化不多的中小型項(xiàng)目局荚,比如:后臺管理系統(tǒng)超凳,erp愈污、orm、oa轮傍。暂雹。
mybatis:專注是sql本身,需要程序員自己編寫sql語句创夜,sql修改杭跪、優(yōu)化比較方便。mybatis是一個不完全 的ORM框架驰吓,雖然程序員自己寫sql涧尿,mybatis 也可以實(shí)現(xiàn)映射(輸入映射、輸出映射)檬贰。
應(yīng)用場景:
適用與需求變化較多的項(xiàng)目姑廉,比如:互聯(lián)網(wǎng)項(xiàng)目。