欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用mybatis框架連接mysql數(shù)據(jù)庫的超詳細步驟

 更新時間:2023年04月21日 10:13:54   作者:一支貓咔qly  
MyBatis是目前java項目連接數(shù)據(jù)庫的最流行的orm框架了,下面這篇文章主要給大家介紹了關(guān)于使用mybatis框架連接mysql數(shù)據(jù)庫的超詳細步驟,文中通過實例代碼和圖文介紹的非常詳細,需要的朋友可以參考下

和我之前寫的通過導(dǎo)入jdbc驅(qū)動jar包來連接mysql數(shù)據(jù)庫而言,用mybatis來說可以有很多好處呀,首先mybatis,就是對jdbc的優(yōu)化方案對吧,,jdbc的硬編碼和一些繁瑣的操作在使用mybatis的時候我就徹底拋擲腦后了哈哈哈。

同時,mybatis在國內(nèi)使用的持久層框架中占比也很高啊

所以對mybatis的學(xué)習(xí),對我們也很有用處嘞。

接下來我就把我在學(xué)習(xí)過程中的一些心得啥的下來,方便大家,同時也是鞏固自己,我創(chuàng)建的是maven項目加上mybatis來實現(xiàn)對mysql數(shù)據(jù)庫的連接,這個過程并不復(fù)雜,但也正是第一步,我們也要格外仔細。

mybatis的一些xml文件配置我參考了:mybatis – MyBatis 3 | 入門

maven項目中導(dǎo)入的jdbc驅(qū)動jar包和mybatis的jar包的依賴我從這里找的:https://mvnrepository.com/artifact/mysql/mysql-connector-java

https://mvnrepository.com/artifact/org.mybatis/mybatis

大家如果在maven項目中不知道怎么寫依賴坐標(biāo),可以從這里直接拿來用。ok,下來開始了。

第一步 在pom.xml中寫好依賴坐標(biāo)

這是我導(dǎo)的jdbc驅(qū)動

 <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.45</version>
        </dependency>

這是我導(dǎo)的mybatis

<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>

pom.xml的整體為:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>org.example</groupId>
    <artifactId>demo2</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.45</version>
        </dependency>
 
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>
    </dependencies>
</project>

第二步  mybatis的核心配置文件

我們需要在resources目錄下編寫好mybatis的核心配置文件Mybatis-config.xml,這個配置文件的模板在上面發(fā)的mybatis入門的網(wǎng)站里有,大家可以去直接copy過來,好好研究一下。

Mybatis-config.xml的整體代碼為:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
<!--            這里要寫入我們連接mysql數(shù)據(jù)庫的信息-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test"/>
                <property name="username" value="root"/>
                <property name="password" value="1234"/>
            </dataSource>
        </environment>
    </environments>
<!--    這里要寫sql映射-->
    <mappers>
        <mapper resource="com/kinroy/Mapper/userMapper.xml"/>
    </mappers>
</configuration>

在<datasource>標(biāo)簽下便要求寫入我們的mysql數(shù)據(jù)庫的連接信息,包括url、name、password老三樣,而在<mappers>標(biāo)簽下待會要寫下我們接下要寫的userMapper.xml,待會通過它來實現(xiàn)mapper代理。

第三步 寫好實體類

我們需要把用來演示的user表中存的數(shù)據(jù)把它們封裝成一個對象,這個時候就要寫一個User的實體類啦,user表中存的數(shù)據(jù)有id、name、age這些簡單數(shù)據(jù)。

User類的整體代碼如下:

package com.kinroy.pojo;
 
public class User {
    private int id;
    private String name;
    private int age;
 
    public User() {
    }
 
    public User(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
 
    /**
     * 獲取
     * @return id
     */
    public int getId() {
        return id;
    }
 
    /**
     * 設(shè)置
     * @param id
     */
    public void setId(int id) {
        this.id = id;
    }
 
    /**
     * 獲取
     * @return name
     */
    public String getName() {
        return name;
    }
 
    /**
     * 設(shè)置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }
 
    /**
     * 獲取
     * @return age
     */
    public int getAge() {
        return age;
    }
 
    /**
     * 設(shè)置
     * @param age
     */
    public void setAge(int age) {
        this.age = age;
    }
 
    public String toString() {
        return "User{id = " + id + ", name = " + name + ", age = " + age + "}";
    }
}

第四步 XXXMapper.xml

這次我在mysql里建立一個test數(shù)據(jù)庫,在test數(shù)據(jù)庫里有一個user表,我們演示的時候是對user表進行操作的,所以在Mapper.xml文件這命名時,就用userMapper.xml

因為要實現(xiàn)Mapper代理,所以在后面我們會建一個和userMapper.xml同名的接口,在接口中便會存放與userMapper.xml中sql語言一樣的抽象方法,來實現(xiàn)mapper代理,我不知道我說得是否清楚,而這就得要這個接口和userMapper.xml所在的目錄要相同,如下圖:

這是userMapper.xml的整體代碼:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kinroy.Mapper.userMapper">
 
    <select id="selectall" resultType="com.kinroy.pojo.User">
        select * from user;
    </select>
    <select id="selectzhangsan" resultType="com.kinroy.pojo.User">
       select * from user where name='張三';
 
    </select>
 
</mapper>

這是與其同名接口的整體代碼:

package com.kinroy.Mapper;
 
import com.kinroy.pojo.User;
 
import java.util.List;
 
public interface userMapper {
    List<User> selectall();
    User selectzhangsan();
}

這里推薦大家去下一個插件啊,就是mybatisX,在寫mapper代理時,別提有多方便了

第五步 連接mysql數(shù)據(jù)庫

如何大家在寫Mapper.xml的時候會發(fā)現(xiàn)有爆紅的,比如沒有識別表名啊之類的,這是因為我們還沒有和數(shù)據(jù)庫建立連接,連接成功后就不會報錯了

這這里也寫好url、name、password還有要連接的數(shù)據(jù)庫就好了。

第六步  開始test!

我寫了一個測試案例:

import com.kinroy.Mapper.userMapper;
import com.kinroy.pojo.User;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;
 
public class test {
    public static void main(String[] args) throws IOException {
        String resource = "Mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        userMapper users = sqlSession.getMapper(userMapper.class);
        /*List<User> selectall = users.selectall();
        System.out.println(selectall);*/
        User zhangsan = users.selectzhangsan();
        String s = zhangsan.toString();
        System.out.println(s);
 
    }
}

 測試了一下,看成功沒有,果然沒啥問題,這樣我們就完成整個mybatis的連接mysql,并執(zhí)行一下簡單sql語言的過程啦。

總結(jié)

到此這篇關(guān)于使用mybatis框架連接mysql數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)mybatis連接mysql數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?方法的重載與參數(shù)傳遞詳解

    Java?方法的重載與參數(shù)傳遞詳解

    在java中,方法就是用來完成解決某件事情或?qū)崿F(xiàn)某個功能的辦法。方法實現(xiàn)的過程中,會包含很多條語句用于完成某些有意義的功能——通常是處理文本,控制輸入或計算數(shù)值,這篇文章我們來探究一下方法的重載與傳參
    2022-04-04
  • @MapperScan注解與@Mapper注解的使用

    @MapperScan注解與@Mapper注解的使用

    這篇文章主要介紹了@MapperScan注解與@Mapper注解的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java實現(xiàn)Executors類創(chuàng)建常見線程池

    Java實現(xiàn)Executors類創(chuàng)建常見線程池

    本文主要介紹了Java實現(xiàn)Executors類創(chuàng)建常見線程池,在Java中,可以通過Executors工廠類提供四種常見類型的線程池,下面就來介紹一下這四種的方法實現(xiàn),感興趣的可以了解一下
    2023-11-11
  • java web圖片上傳和文件上傳實例詳解

    java web圖片上傳和文件上傳實例詳解

    這篇文章主要介紹了java web圖片上傳和文件上傳實例詳解的相關(guān)資料,這里提供了兩種方法及示例代碼,需要的朋友可以參考下
    2016-11-11
  • SpringBoot配置發(fā)送Email的示例代碼

    SpringBoot配置發(fā)送Email的示例代碼

    本篇文章主要介紹了SpringBoot配置發(fā)送Email的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 為何Java單例模式我只推薦兩種

    為何Java單例模式我只推薦兩種

    這篇文章主要給大家介紹了關(guān)于Java單例模式推薦的兩種模式,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Spring?EnableAsync注解異步執(zhí)行源碼解析

    Spring?EnableAsync注解異步執(zhí)行源碼解析

    這篇文章主要為大家介紹了Spring?EnableAsync注解源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Spring mvc工作原理_動力節(jié)點Java學(xué)院整理

    Spring mvc工作原理_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細介紹了Spring mvc工作原理的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Classloader隔離技術(shù)在業(yè)務(wù)監(jiān)控中的應(yīng)用詳解

    Classloader隔離技術(shù)在業(yè)務(wù)監(jiān)控中的應(yīng)用詳解

    這篇文章主要為大家介紹了Classloader隔離技術(shù)在業(yè)務(wù)監(jiān)控中的應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 基于Java實現(xiàn)XML文件的解析與更新

    基于Java實現(xiàn)XML文件的解析與更新

    配置文件可以有很多種格式,包括?INI、JSON、YAML?和?XML。每一種編程語言解析這些格式的方式都不同。本文將通過Java語言實現(xiàn)XML文件的解析與更新,需要的可以參考一下
    2022-03-03

最新評論