首頁 > 軟體

一文教會你用mybatis查詢資料庫資料

2022-04-14 19:01:23

一、新建資料庫和表

建一個資料庫mybatis,建一個表person,然後填充一些資料(這裡我是使用了圖形化工具Navicat for MySQL,就不寫原生的資料庫程式碼了)

二、新建maven專案,新增mybatis依賴

新建一個maven專案,我以往文章有提到如何建一個maven專案,這裡不多贅述:

Maven入門—如何在idea中設定Maven

新增依賴,在pom.xml檔案上新增以下程式碼

<dependencies>
        <!--    資料庫驅動 版本不能亂用5.1.47  -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
		<!-- 單元測試-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

        <!-- lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>
</dependencies>

三、新建實體類、介面(Mapper)

Person實體類

package entity;

public class Person {
    private int id;
    private String name;
    private int age;

    public Person() {
    }

    public Person(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", age=" + age +
                '}';
    }
}

PersonMapper介面

import entity.Person;
import java.util.List;

public interface PersonMapper {
    //查詢所有資料
    public List<Person> getPerson();
}

四、新建實現類(使用.xml對映檔案)

在resources目錄下新建一個PersonMapper.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">

<!-- 對映     namespace : 和哪個介面有對映關係-->
<mapper namespace="mapper.PersonMapper">
    <!--
        select標籤中的語句  需要和介面中哪個方法有對映關係
        id         : 介面中的方法名
        resultType:  方法的返回型別(寫全類名)
     -->
    <select id="getPerson" resultType="entity.Person">
        select * from person
    </select>
</mapper>

五、新建全域性組態檔(mybatis-config.xml)

在resources目錄下新建一個mybatis-config.xml檔案

資料庫密碼(password)寫你自己的

<?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>
    <!-- environments  多環境設定
         environment   設定資料來源
         transactionManager     事務管理器
         dataSource     資料來源
     -->
    <environments default="p1">

        <environment id="p1">
            <transactionManager type="JDBC"/>
            <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>

    <!-- 註冊對映  -->
    <mappers>
        <mapper resource="PersonMapper.xml"/>
    </mappers>
</configuration>

六、編寫demo類,進行測試查詢資料庫

1、讀取組態檔

2、根據組態檔構建工廠

3、獲取對談

4、獲取Mapper物件

5、執行方法

6、關閉對談

public class demo {
	@Test
    public void test2() throws IOException {
        //讀取組態檔
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        //根據組態檔構建工廠
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //獲取對談
        SqlSession sqlSession = sessionFactory.openSession();
        //獲取Mapper物件
        PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
        //執行方法
        List<Person> person = personMapper.getPerson();
        System.out.println(person);
        //關閉對談
        sqlSession.close();
    }
 }

輸出結果

總結

到此這篇關於mybatis查詢資料庫資料的文章就介紹到這了,更多相關mybatis查詢資料庫資料內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com