1、mybatis簡介java
MyBatis 是支持普通 SQL 查詢,存儲過程和高級映射的優秀持久層框架。MyBatis 消除了幾乎全部的 JDBC 代碼和參數的手工設置以及結果集的檢索。mysql
一、 簡化JDBC的開發sql
二、 可以更好的完成ORM(對象關係映射)數據庫
2、mybatis原理mybatis
一、經過sqlMapConfig.xml配置開發環境、事務配置文件等app
二、經過映射文件UserMapper.xml,將實體類與數據庫表字段相關聯框架
三、建立SqlSessionFactory ,加載sqlMapConfig.xml文件maven
四、建立SqlSession,操做實體類測試
3、入門準備3d
一、建立user表
CREATE TABLE user(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255),
addrses VARCHAR(255),
age INT
)
INSERT INTO `user` VALUES(NULL, '劉一','北京',28);
INSERT INTO `user` VALUES(NULL, '陳二','上海',32);
INSERT INTO `user` VALUES(NULL, '張三','廣州',26);
二、建立maven工程mybatis
配置pom.xml文件,引入mybatis所用的依賴包
<dependencies>
<!--添加mysql驅動程序依賴 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<!--添加junit依賴 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<!--添加mybatis核心依賴 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!--添加日誌包依賴 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
4、入門案例
一、在/mybatis/src/main/resources目錄下建立sqlMapConfig.xml文件
二、在/mybatis/src/main/resources/mapper目錄下配置UserMapper.xml文件
三、在/mybatis/src/main/java/mybatis/day01/pojo目錄下建立User實體類
四、在/mybatis/src/test/java/day01目錄下建立Test1.java測試類
5、項目目錄
6、映射文件經常使用標籤
一、查詢語句
<select id="" resultType="" parameterType=""></select>
1)id 爲sql的惟一標識
2)resultType爲sql返回值類型
3)parameterType爲sql傳參類型
注意:屬性名和類名必須一致才能完成映射
二、插入語句
<insert id="" parameterType=""></insert>
三、更新語句
<update id="" parameterType=""></update>
四、刪除語句
<delete id="" parameterType=""></delete>
7、擴展
一、別名
爲簡化開發,能夠在sqlMapConfig.xml文件中使用typeAliases爲須要映射的實體類全路徑設置包名
sqlMapConfig.xml
UserMapperConfig.xml
二、特殊字符
xml文件的特殊字符須要用<![CDATA[]]>包起來
如 id < 2 須要寫成
<![CDATA[
id < 2
]]>
三、${} 與 #{}區別
推薦使用#{},緣由:${}執行底層是Statement ,有sql注入風險,#{}執行底層是PreparedStatement