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

mybatis快速上手并運(yùn)行程序

 更新時(shí)間:2022年01月23日 14:38:16   作者:執(zhí) 梗  
MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過簡(jiǎn)單的 XML 或注解來配置和映射原始類型、接口和 Java POJO為數(shù)據(jù)庫(kù)中的記錄

1.Mybatis概述

????????MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過簡(jiǎn)單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對(duì)象)為數(shù)據(jù)庫(kù)中的記錄。

可能大家讀不太懂上面的話,覺得寫的很官方,但這也確實(shí)是mybatis官方目錄對(duì)于mybatis的解釋。我們暫時(shí)還不了解mybatis,但相信大家都學(xué)過JDBC,它的操作方式繁雜,SQL代碼和Java代碼高度耦合,無論是學(xué)習(xí)的人還是使用的人都覺得繁瑣,所以mybatis應(yīng)用而生(當(dāng)然還有hibernate這個(gè)框架,不過已經(jīng)被淘汰了)。正如官方文檔加深字體所說,mybatis就是一個(gè)為了來優(yōu)化JDBC代碼的持久層框架。

2.Mybatis快速入門

Mybatis環(huán)境搭建步驟:

? ? ? ? 1.創(chuàng)建maven項(xiàng)目,導(dǎo)入對(duì)應(yīng)需要的jar包

? ? ? ? 2.編寫mapper映射文件和mybatis全局配置文件

? ? ? ? 3.創(chuàng)建一個(gè)pojo類,在數(shù)據(jù)庫(kù)中建立對(duì)應(yīng)表,編寫mapper配置文件

? ? ? ? 4.編寫mybatisUtils工具類,得到sqlSessionFactory對(duì)象

?? ? ? ?5.進(jìn)行test測(cè)試,通過工具類sqlSession實(shí)例來獲得mapper,調(diào)用映射文件中的SQL語句完成CRUD操作

1.創(chuàng)建maven項(xiàng)目

在pom.xml中導(dǎo)入依賴

mybatis需要的依賴

  <dependencies>
        <!--MySQL驅(qū)動(dòng)-->
        <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.5.2</version>
        </dependency>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

2.編寫mapper映射文件和mybatis全局配置文件

編寫Mapper文件(也就是接口)

編寫對(duì)應(yīng)的Mapper.xml文件

在resource下建立一個(gè)mybatis—config.xml

導(dǎo)入核心配置信息,注意我標(biāo)注的地方需要根據(jù)自己數(shù)據(jù)庫(kù)的地方進(jìn)行更改???????????

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--configuration核心配置文件-->
<configuration>
    <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=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <!--每一個(gè)Mapper.XML都需要在Mybatis核心配置文件中注冊(cè)-->
    <mappers>
        <mapper resource="com/kaung/dao/UserMapper.xml"/>
    </mappers>
</configuration>

3.編寫一個(gè)User類

public class User {
    private int id;
    private String name;
    private String password;
 
    public User() {
    }
    public User(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }
 
    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 String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

在數(shù)據(jù)庫(kù)中建立對(duì)應(yīng)的表(CRUD自己手寫)

4.編寫一個(gè)mybatis工具類,獲得SqlSession對(duì)象

在java下建一個(gè)utils包,建立一個(gè)MybatisUtils工具類

//工具類 sqlSessionFactory -->sqlSession
public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            //使用mybatis獲取sqlSessionFactory對(duì)象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //既然有了 SqlSessionFactory,顧名思義,
    // 我們可以從中獲得 SqlSession 的實(shí)例。SqlSession 提供了在數(shù)據(jù)庫(kù)執(zhí)行 SQL 命令所需的所有方法。
    // 你可以通過 SqlSession 實(shí)例來直接執(zhí)行已映射的 SQL 語句。
 
    public static SqlSession getSqlSession() {
          return sqlSessionFactory.openSession();
    }
}

5.test進(jìn)行測(cè)試,查詢所有User

public class UserDaoMapperTest {
    @Test
    public void test(){
        //1.獲得sqlSession對(duì)象
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //方法1:getMapper
        UserDaoMapper userDaoMapper = sqlSession.getMapper(UserDaoMapper.class);
        List<User> userList= userDaoMapper.getUserList();
        for (User user:userList){
            System.out.println(user);
        }
        //關(guān)閉sqlSession
        sqlSession.close();
    }
}

到此這篇關(guān)于mybatis快速上手并運(yùn)行程序的文章就介紹到這了,更多相關(guān)mybatis 入門內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一個(gè)合格JAVA軟件工程師應(yīng)該具備什么

    一個(gè)合格JAVA軟件工程師應(yīng)該具備什么

    一個(gè)合格JAVA軟件工程師應(yīng)該具備哪些專業(yè)技能,面試技巧是什么?本文為大家分享了2016版最新Java軟件工程師就業(yè)思維圖,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 使用springboot配置和占位符獲取配置文件中的值

    使用springboot配置和占位符獲取配置文件中的值

    這篇文章主要介紹了使用springboot配置和占位符獲取配置文件中的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • SpringBoot擴(kuò)展SpringMVC原理并實(shí)現(xiàn)全面接管

    SpringBoot擴(kuò)展SpringMVC原理并實(shí)現(xiàn)全面接管

    這篇文章主要介紹了SpringBoot擴(kuò)展SpringMVC原理并實(shí)現(xiàn)全面接管,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java實(shí)現(xiàn)簡(jiǎn)單碰撞檢測(cè)

    Java實(shí)現(xiàn)簡(jiǎn)單碰撞檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單碰撞檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Java多線程+鎖機(jī)制實(shí)現(xiàn)簡(jiǎn)單模擬搶票的項(xiàng)目實(shí)踐

    Java多線程+鎖機(jī)制實(shí)現(xiàn)簡(jiǎn)單模擬搶票的項(xiàng)目實(shí)踐

    鎖是一種同步機(jī)制,用于控制對(duì)共享資源的訪問,在線程獲取到鎖對(duì)象后,可以執(zhí)行搶票操作,本文主要介紹了Java多線程+鎖機(jī)制實(shí)現(xiàn)簡(jiǎn)單模擬搶票的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • 詳解java動(dòng)態(tài)代理模式

    詳解java動(dòng)態(tài)代理模式

    這篇文章主要為大家詳細(xì)介紹了java動(dòng)態(tài)代理模式,總結(jié)一下代理模式,以及jdk,cglib代理模式用法,來理解代理模式,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Python安裝Jupyter Notebook配置使用教程詳解

    Python安裝Jupyter Notebook配置使用教程詳解

    這篇文章主要介紹了Python安裝Jupyter Notebook配置使用教程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java中實(shí)現(xiàn)樹形菜單的兩種方式

    Java中實(shí)現(xiàn)樹形菜單的兩種方式

    這篇文中,我一共會(huì)用兩種方式來實(shí)現(xiàn)目錄樹的數(shù)據(jù)結(jié)構(gòu),兩種寫法邏輯是一樣的,只是一種適合新手理解,一種看著簡(jiǎn)單明了但是對(duì)于小白不是很好理解,在這里我會(huì)很詳細(xì)的講解每一步代碼,主要是方便新人看懂,彌補(bǔ)曾經(jīng)自己學(xué)習(xí)過程中的苦惱,需要的朋友可以參考下
    2023-09-09
  • Java通過socket客戶端保持連接服務(wù)端實(shí)現(xiàn)代碼

    Java通過socket客戶端保持連接服務(wù)端實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java通過socket客戶端保持連接服務(wù)端實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java整合Jackson實(shí)現(xiàn)反序列化器流程

    Java整合Jackson實(shí)現(xiàn)反序列化器流程

    Jackson是一個(gè)開源的Java序列化和反序列化工具,可以將Java對(duì)象序列化為XML或JSON格式的字符串,以及將XML或JSON格式的字符串反序列化為Java對(duì)象。由于其使用簡(jiǎn)單,速度較快,且不依靠除JDK外的其他庫(kù),被眾多用戶所使用
    2023-01-01

最新評(píng)論