基本概述:
1:mybatis是一個優秀的基於Java的持久層框架,它內部封裝了jdbc,使開發者只需要關注sql語句本身,而不需要花費精力去處理加載驅動、創建連接、創建statement等複雜的過程。
mybatis通過xml或者註解的方式將要執行的各種statement配置起來,並通過java對象和statement中sql的動態參數進行映射生成最終執行的sql語句,最後由mybatis框架執行sql並將結果映射爲java對象並返回。
2.採用ORM思想解決實體和數據庫映射問題,對jdbc進行封裝,屏蔽jdbc 中api底層訪問細節,完成對數據庫的持久化操作。
3.ORM:Object Relational Mapping 對象關係映射
把數據庫表和實體類及實體類的屬性對應起來
操作實體類就可以實現操作數據庫表。
環境搭建
一:創建maven工程並導入座標
1.打開IDEA-》創建new project
next到如下界面命名之後學則next並在下一個界面點擊finish完成創建。
2.添加依賴並導入
導入完成後點擊編輯器最右側Maven Project項目結構如下:
二:創建實體類和dao的接口
1.創建User實體類
在main下面java目錄下右鍵:新建Java Class命名如下圖所示
在User實體類中編寫屬性並加入getter和setter方法及重寫tostring方法
2.創建dao的接口
在main下面java目錄下右鍵:新建Java Class在kind中選擇Interface命名如下圖所示
UserDao接口中代碼如下:
package com.edu.dao;
import com.edu.domain.User;
import java.util.List;
/**
* @author Roy
* @date 2020/6/13 17:13
*/
public interface UserDao {
List<User> findAll();
}
三.創建Mybatis的主配置文件SqlMapConfig.xml
在main目錄下的resources文件上右鍵新建new file命名如下
並在sqlMapConfig.xml中寫入如下配置代碼:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.ory//DTD Config 3.0//EN"
"htpp://mybatis.org/dtd/mybatis-3-config.dtd">
<!--mybatis的主配置文件-->
<configuration>
<!--配置環境-->
<environments default="mysql">
<!--配置mysql的環境-->
<environment id="mysql">
<!--配置事物的類型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置數據源連接池-->
<dataSource type="POOLED">
<!--配置連接數據庫的四個基本信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--指定映射配置文件的位置,映射配置文件指的是每個dao獨立的配置文件-->
<mappers>
<mapper resource="com/edu/dao/UserDao.xml"/>
</mappers>
</configuration>
四.創建映射配置文件UserDao.xml
在resources目錄下新建Directory命名爲com-》在com下新建Directory命名爲edu-》在edu下新建Directory命名爲dao-》在dao下新建new file 命名爲UserDao.xml
在UserDao.xml中配置代碼如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.ory//DTD Mapper 3.0//EN"
"htpp://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.edu.dao.UserDao">
<select id="findAll">
SELECT * FROM user;
</select>
</mapper>
到此一個簡單的Mybatis環境就搭建完畢了。
注意事項:①mybatis的映射配置文件位置必須和dao接口的包結構相同。
②映射配置文件的mapper標籤namespace屬性的取值必須是dao接口的全限定類名。
③映射配置文件的操作配置(select),id屬性的取值必須是dao接口的方法名。