1. 程式人生 > >mybatis學習(2)——入門例項

mybatis學習(2)——入門例項

在上一篇部落格中,我們已經把所有的準備工作做好了,包括資料庫和mybatis下載等,接下我們進入一個實際的案例,來理解mybatis是如何工作的。

1、新建專案

這裡使用的軟體是IDEA,這個無關緊要,我們首先建立一個Java專案,工程最後的結構如下所示,我們將先前的mybatis的jar包(包括lib檔案下的jar包)和java連線sqlite資料庫的jar包,拷貝到lib資料夾中。

2、定義一個實體POJO

首先我們我們需要定義一個實體POJO,這個實體就是我們之前在資料庫中建立的student表。



package com.pojo;

public class Student {
    private int ID;
    private String Name;
    private String Sex;
    private float Grade;

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public String getSex() {
        return Sex;
    }

    public void setSex(String sex) {
        Sex = sex;
    }

    public float getGrade() {
        return Grade;
    }

    public void setGrade(float grade) {
        Grade = grade;
    }
}

3、編寫配置檔案

3.1  log4j配置檔案

這個配置檔案主要是用來輸出日誌資訊的,我們在系統目錄下新建一個log4j.properties檔案,裡面的內容如下:

log4j.rootLogger=DEBUG,stdout
log4j.logger.org.mybatis=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %c: %m%n

3.2 基礎配置檔案

基礎配置檔案在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">
<configuration>
    <typeAliases>
        <!--別名-->
        <typeAlias type="com.pojo.Student" alias="student"/>
    </typeAliases>
    <!--資料庫環境-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="org.sqlite.JDBC"/>
                <property name="url" value="jdbc:sqlite:C:\\Users\\YZL\\test1.db"/>

                <!--
                由於我們使用的是sqlite資料庫,開源免費的sqlite資料庫是不需要使用者名稱和密碼的
                ,我們這裡就不需要這兩個屬性
                <property name="username" value=""/>
                <property name="password" value=""/>
                -->
            </dataSource>
        </environment>
    </environments>
    <!--對映檔案-->
    <mappers>
        <mapper resource="com/mapper/StudentMapper.xml"/>
    </mappers>
</configuration>

解釋一下這個基礎配置檔案:

<typeAliases> 元素的定義了一個別名student,它代表的是com.pojo.Student這個類,這樣我們在後面就可以直接使用student別名去使用這個類了。

<environments> 元素裡面描述的連線資料庫的引數。

<mapper> 元素的作用是引入那些對映器。

3.3 對映器

在編寫對映器配置檔案之前,我們首先編寫一個對映器介面StudentMapper,這個介面很簡單,就只有一個方法。

package com.mapper;

import com.pojo.Student;
public interface StudentMapper {
    public Student getStudentById(int id);
}

然後新建一個對映器檔案StudentMapper.xml,在裡面新增如下內容:

<?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.mapper.StudentMapper">
    <select id="getStudentById" resultType="student" parameterType="int">
        select ID,Name,Sex,Grade from student where id=#{id}
    </select>
</mapper>

對這個對映器檔案解釋一下:

<mapper> 元素的namespace屬性的值是一個java介面的全限定名。

<select> 元素裡面是一條查詢語句,id屬性標識這條sql語句,resultType表示返回結果型別,parameterType表示引數型別。這裡的student就是之前的基礎配置檔案的配置的別名。

#{id} 表示傳遞進去的引數.。

上面的基礎配置檔案引入的就是這個檔案。

4、測試 

接下來,我們就可以新建一個測試類,測試一下,首先說明一下mybatis的執行的步驟:

  1. 首先利用構造器SqlSessionFactoryBuilder通過程式碼或者配置檔案的方式來生成一個SqlSessionFactory;
  2. 依靠上面的SqlSessionFactory來獲取一個SqlSession;
  3. 一個SqlSession既可以直接傳送sql請求,也可以通過對映器介面獲取一個Mapper介面,然後通過Mapper去傳送sql請求(我們這裡採用的是第二種方式);

下面貼上測試的Test類程式碼

package com.main;

import com.mapper.StudentMapper;
import com.pojo.Student;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.log4j.Logger;


import java.io.InputStream;


public class Test {
    public static void main(String[] args) {
        Logger log=Logger.getLogger(Test.class);

        SqlSessionFactory sqlSessionFactory=null;
        String resource="mybatis-config.xml";
        InputStream inputStream;
        SqlSession sqlSession=null;
        try {
            inputStream = Resources.getResourceAsStream(resource);

            //獲取一個sqlSessionFactory
            sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
            //通過sqlSessionFactory獲取一個sqlSession
            sqlSession=sqlSessionFactory.openSession();

            //根據對映器介面獲取一個對映器
            StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);
            //呼叫對映器中的getStudentById()方法,1為引數,返回型別是一個
            Student student=studentMapper.getStudentById(1);

            System.out.println("id: "+student.getID()+"  name: "+student.getName()+
            " sex: "+student.getSex()+" grade: "+student.getGrade());

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if(sqlSession!=null)
                sqlSession.close();
        }
    }
}

我們看一下最後的輸出結果

至此,mybatis的入門例項已經完成。 

相關推薦

mybatis學習2——入門例項

在上一篇部落格中,我們已經把所有的準備工作做好了,包括資料庫和mybatis下載等,接下我們進入一個實際的案例,來理解mybatis是如何工作的。 1、新建專案 這裡使用的軟體是IDEA,這個無關緊要,我們首先建立一個Java專案,工程最後的結構如下所示,我們將先前的my

mybatis學習----入門

配置 ati 開源 bold 文件中 手動 arch mage git 一.Mybatis介紹 MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,並且改名為

MyBatis學習--入門

寫在前面 這是博主第一次嘗試寫這種類似總結,文筆也不好見諒,由於總結能力很差所以本文基本是參照孤傲蒼狼的部落格,在基礎上新增和修改了一些內容 孤傲蒼狼的部落格:https://www.cnblogs.com/xdp-gacl/category/655890.html 程式碼中會有很多

mybatis學習2

select元素。 自定義resultMap,自定義返回。 建表語句如下所示: create table tbl_dept( id int(11) primary key auto_increment, dept_name varchar(255) ) 查詢 select d.id

MyBatis 學習 入門

Mybatis介紹 MyBatis本是apache的一個開源專案iBatis, 2010年這個專案由apache software foundation 遷移到了google code,並且改名為MyBatis 。2013年11月遷移到Github。

Hibernate學習2入門案例

上篇部落格已經把Hibernate概念和其中的核心介面介紹,下面舉個例項新增使用者來介紹Hibernate如何使用。 1、匯入jar檔案 匯入antlr-2.7.6.jar 匯入commons

MyBatis學習簡介及入門案例

結果集 提交 ace 支持 nag 實例 exce 空間 cti 1.什麽是MyBatis?   MyBatis是一個支持普通SQL查詢,存儲過程,和高級映射的優秀持久層框架。MyBatis去掉了幾乎所有的JDBC代碼和參數的手工設置以及對結果集的檢索封裝。MyBatis可

java入門學習2—基本數據類型

堆內存 類指針 erl 相互 lean 就是 沒有初始化 true ++ 1、變量:定義變量:【數據類型】 變量名 = 賦值(這樣定義的變量一般屬於局部變量,放置在棧內存中); 2、標識符:可以有字母(可以使任意文字),數字,下劃線,$等組成;但是不能以數字開頭,不能是保留

Pandas入門學習2

文章目錄 Pandas 基本功能 1、Series 基本屬性 axes 示例 empty 示例 ndim 示例 size 示例 values 示例 head() 和 tail()

MyBatis學習--基本CRUD操作例項

寫在前面 這篇依然是參考寫的,一些基本的例項。下一篇打算自己總結,慢慢的摸索著寫了。 孤傲蒼狼的部落格:https://www.cnblogs.com/xdp-gacl/category/655890.html 程式碼中會有很多重要的註釋,請不要忽略。 使用MyBatis進

mybatis 詳解------入門例項基於註解

目錄 1、建立MySQL資料庫:mybatisDemo和表:user 2、建立一個Java工程,並匯入相應的jar包,具體目錄如下 3、在 MyBatisTest 工程中新增資料庫配置檔案 mybatis-configuration.xml 4、定義表所對應的實體

Linux真小白入門教程第五集——Bash Shell命令學習2

shell還提供了很多在Linux檔案系統上操作檔案的命令 touch命令可以輕鬆建立空檔案。 touch test_one 建立新檔案,並將你的使用者名稱作為檔案的屬主,此時檔案的大小為0,因為touch命令只建立了一個空檔案。   cp命令可以完成檔案的複製操作

UE4的AI學習2——官方案例例項分析

http://blog.csdn.net/a393134314/article/details/52301309 AI學習當中,不學習行為樹基本概念就不能明白具體例項中的操作意義,但是沒有經過具體例項實驗,又覺得基本概念抽象難以理解。建議先泛讀(1)(2)後再對

MyBatis學習1Mybatis使用詳解和入門案例

前言 MyBatis和Hibernate一樣,是一個優秀的持久層框架。已經說過很多次了,原生的jdbc操作存在大量的重複性程式碼(如註冊驅動,建立連線,建立statement,結果集檢測等)。框架的作用就是把這些繁瑣的程式碼封裝,這樣可以讓程式設計師專注於sq

RabbitMQ學習總結3——入門例項教程詳解

一、起航        本章節,柯南君將從幾個層面,用官網例子講解一下RabbitMQ的實操經典程式案例,讓大家重新回到經典“Hello world!”(The simplest thing that does something )時代,RabbitMQ 支援N多種客戶

TensorFlow 入門 第一課--基本函式學習2:tf.nn.conv2d 、tf.contrib.layers.flatten、tf.nn.max_pool 詳解

Tensorflow 提供了一些內建的API實現了CNN網路結構中的卷積,池化,全連線網路等運算操作。tf.nn.conv2d(input,filter, strides, padding, data_

mybatis學習 mybatis入門

       mybatis(3.3.1version)是一個比較輕量級的O/R Mapping框架,跟Hibernate對比安裝和配置都要簡單許多。將mybatis.jar引入到專案中即可。安裝之後下面的工作就是要配置相關檔案。mybatis配置檔案主要包含兩個部門一個是核心配置檔案也可稱為主配檔案,另一

快速入門深度學習2遷移學習

咱們繼續入門課程系列,這次是關於遷移學習(Transfer Learning)的故事。    這次咱們要“學習”一把了,針對特定的任務構造自己的分類器了。這次咱們仍然使用AlexNet的網路結構(誰讓它經典呢),訓練這個網路讓它為咱們服務。    在正式Coding之前,首先

mybatis學習 快速入門

一、Mybatis介紹      MyBatis是一個支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架。MyBatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或註解用於配置和原始對映,將介面和Java的POJO(Plain Old Ja

mybatis學習基礎入門

Mybatis架構 SqlMapConfig.xml 核心配置檔案。 mapper.xml 實體的對映配置檔案,書寫sql。 SqlSessionFactory session的工廠。 SqlSession 核心操作物件。 一、使用