MyBatis框架
1.MyBatis
myBatis是一個開源的數據持久曾框架。它地內部封裝了jdbc訪問數據庫的操作,支持普通的sql查詢,存儲過程和高級映射,他的主要思想是將程序中的大量sql語句剝離出來,配置在配置文件中,將sql與程序代碼分離。
2.ORM
ORM(object relational Mapping)即對象/關系映射,是一種持久化技術。他在對象模型和關系型數據庫之間建立對應關系,可以使用API直接操作javaBnean對象就可以實現數據的存儲,查詢和更改,刪除等操作。MyBatis通過簡單的xml或者註解進行配置和原始映射,將實體類和sql語句之間建立映射關系,是一種半自動化的ORM實現。
3.MyBtais環境搭建
1)創建maven項目: 右鍵file--〉project
2)創建Group和ArtifactId
3)settings和repository一般在C盤,可以不用改,加入 archetypeCatalog = internal 可以防止maven慢
4)next--〉finish,就可以完成環境的搭建
4.創建maven項目
1)加入此設置可以防止創建maven項目慢
2)同上步驟可以完成項目的創建
5.創建MyBatis的核心配置文件mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--通過這個配置文件,完成mybatis與數據庫的連接--> <configuration> <!-- 引入jdbc.properties--> <properties resource="jdbc.properties"/> <typeAliases> <package name="cn.happy.pojo"></package> </typeAliases> <environments default="development"> <environment id="development"> <!--配置事務管理 采用jdbc--> <transactionManager type="JDBC"></transactionManager> <!--POOLED mybatis的數據原 jndi 基於tomcat的數據原--> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <!--<property name="password" value="${password}"/>--> </dataSource> </environment> </environments> <mappers> <mapper resource="cn/happy/dao/UserMapper.xml"/> <mapper resource="cn/happy/dao/RoleMapper.xml"/> </mappers> </configuration>
註:1)configuration:配置文件的根元素節點
2)properties:通過resource屬性從外部指定properties屬性文件(database.properties),該屬性文件描述的數據庫連接的相關配置,位置也在/resource目錄下
3)enviroment:配置mybatis的一套運行環境,需指定運行環境的id,事務管理,數據源配置等相關信息
4)mappers:作用是告訴mybatis去哪裏找到sql映射文件(該文件內容是開發者定義的映射sql語句),整個項目中可以有一個或多個sql映射文件。
5)mapper: mappers的子元素節點,具體指定sql映射文件的路徑,其中resources屬性的值表述了sql映射文件的路徑(資源路徑)。
TIP:mybatis-config.xml文件的元素節點是有一定順序的,節點位置若不按順序排位,那麽xml文件就會報錯。
6.創建持久化類(pojo)和sql映射文件
1) 持久化類是指其實例狀態需要被mybatis持久化到數據庫中的類 。
pojo就是java對象,符合javaBean規範的實體類,不需要繼承和實現任何特殊的接口或java基類。
2)sql映射文件,完成於pojo的映射,該文件一般命名為類名+Mapper.xml
註:mapper:映射文件的根元素節點,只有一個屬性namespace;
namespace:用於區分不同的mapper,全局唯一
select:表示查詢的語句,是mybatis最常用的元素之一,常用屬性如下:
id屬性:該命名空間下的唯一標識符
resultType屬性:表示sql語句返回值類型。
7.創建測試類
在測試類中加入junit,創建測試類進行功能側試。
MyBatis框架