MyBatis學習(一)

MyBatis是什麼?

首先了解一個概念:
ORM:Object Relation Mapping.實體關係映射,是程序實體類對象和數據庫表之間的映射。
ORM可以使得開發人員像操作對象一樣操作數據庫表。

ORM是一個概念,MyBaties是ORM的一個實現,相似的還有Hibernate、JPA。
          MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。

MyBatis可以簡化JDBC操作,實現數據的持久化。

MyBatis入門之配置文件

要使用MyBatis,首先要了解兩個配置文件,一個是全局配置文件,另一個則爲映射類配置文件,文件爲XML格式。

全局配置文件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">
<configuration>
    <typeAliases>
      <package name="com.cn.bean"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
      <mapper resource="com/cn/bean/Category.xml"/>
    </mappers>
</configuration>

開頭部分爲XML版本和編碼格式
然後爲!DOCTYPE聲明 用於配置dtd文檔
正文部分由<configuration></configuration>標籤包裹,裏面的標籤,我們需要了解以下幾個:

	 <typeAliases>
     	 <package name="com.cn.bean"/>
    </typeAliases>

用於指示實體類的位置,在映射配置文件中可以不用報名限制類名,直接使用類名。

 <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

此部分是關於JDBC的配置,包括驅動、數據庫鏈接、登錄用戶名、密碼信息;可以直接寫死,也可以使用以下方式,將配置寫在配置文件中

 <properties resource="dbconfig.properties"></properties>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置數據庫連接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>

注意資源文件路徑,資源文件和總配置文件在同一個目錄下時,可以直接使用資源文件名。

    <mappers>
      <mapper resource="com/cn/bean/Category.xml"/>
    </mappers>

此部分用於指示映射類配置文件路徑

映射類配置文件 *Mapper.xml (和實體類位於同一文件夾)。和實體類產生映射,其中的SQL語句爲操作數據庫中對應實體類的表的語句。id爲SQL語句標識,resultType爲返回值的類型,parameterType爲傳入參數的類型。基本格式如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      <mapper namespace="com.cn.bean">
        <select id="selectAll" resultType="Category">
            select * from category     
        </select>
    </mapper>

使用

	String resource="mybatis-config.xml";//聲明配置文件
	//將資源文件轉化爲字節流
	InputStream inputStream=Resources.getResourceAsStream(resource);
	//使用配置文件字節流創建SqlSessionFactory工廠
	SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
	//獲取一個SqlSession連接 對象可以調用各種傳入映射類配置文件SQL語句ID執行方法並獲取結果
	SqlSession session=sqlSessionFactory.openSession();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章