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

一小時(shí)迅速入門Mybatis之初識(shí)篇

 更新時(shí)間:2021年09月14日 16:36:29   作者:grace.free  
這篇文章主要介紹了迅速入門Mybatis之初識(shí)篇,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、Mybatis簡介

Mybatis是一款超級(jí)無敵的持久層框架,它支持自定義SQL、存儲(chǔ)過程以及高級(jí)映射。Mybatis可以通過簡單的XML或者注解來配置和映射原始類型、接口和Java POJO為數(shù)據(jù)庫中的記錄。

Mybatis相比于Hibernate在處理復(fù)雜業(yè)務(wù)的時(shí)候靈活度更高、復(fù)雜的SQL編寫更容易。

二、mybatis入門

2.1 創(chuàng)建Maven項(xiàng)目

請(qǐng)?zhí)砑訄D片描述

請(qǐng)?zhí)砑訄D片描述

請(qǐng)?zhí)砑訄D片描述

2.2 修改pom文件(引入jar包)

很早之前我們引入一個(gè)外部項(xiàng)目需要到處去下載jar包,然后放入項(xiàng)目的lib目錄下,但是自從用了maven以后我們只需要一個(gè)坐標(biāo),maven幫我們搞定一切!

<?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>Mybatis-Test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <!-- 引入Mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <!-- mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

    </dependencies>

</project>

2.3 編寫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>
    <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://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false&amp;serverTimezone=GMT%2B8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="TestMapper.xml"/>
    </mappers>
</configuration>

說明:

1.注意自己的driver 看是否需要根據(jù)版本改為:com.mysql.cj.jdbc.Driver

2.&amp; 這個(gè)是&在xml中的轉(zhuǎn)義表示

TestMapper.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="TestMapper">
    <select id="list" resultType="map">
        select * from test
    </select>
</mapper>

2.4 編寫Java代碼

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.InputStream;
import java.util.List;
import java.util.Map;

/**
 * 一個(gè)生活在互聯(lián)網(wǎng)底層,做著增刪改查的碼農(nóng),不諳世事的造作
 * @create 2021-08-25 21:26
 */
public class TestMain {
    public static void main(String[] args) throws Exception {
        // 1.配置文件編程輸入流
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        // 2. 創(chuàng)建SqlSession工廠
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        // 3. 創(chuàng)建SqlSession
        // try里邊創(chuàng)建數(shù)據(jù)流 try語句執(zhí)行完后流會(huì)被自動(dòng)關(guān)閉 但是資源必須實(shí)現(xiàn)java.lang.AutoCloseable接口
        // 這叫做 ARM 塊(Automatic Resource Management)
        // SqlSession 實(shí)現(xiàn)了Closeable  Closeable繼承了AutoCloseable接口
        try (SqlSession session = sqlSessionFactory.openSession()) {
            // 4. 執(zhí)行查詢 查列表出來
            List<Map<String,Object>> res = session.selectList("TestMapper.list");
            // 5. 遍歷結(jié)果輸出
            if (res != null) {
                for (int i = 0; i < res.size(); i++) {
                    Map<String,Object> tmp = res.get(i);
                    System.out.println("id="+tmp.get("id")+",name="+
                            tmp.get("name")+",salary="+tmp.get("salary"));
                }
            }
        }
    }
}

輸出結(jié)果

請(qǐng)?zhí)砑訄D片描述

項(xiàng)目結(jié)構(gòu):

請(qǐng)?zhí)砑訄D片描述

2.5 嘮嘮

  1. demo中配置文件寫在xml中 真實(shí)項(xiàng)目中不會(huì)這樣寫 會(huì)寫到配置文件或者配置中心
  2. demo中沒有使用自定義實(shí)體類 真實(shí)項(xiàng)目中大部分都是自定義實(shí)體類
  3. demo中沒有使用接口 真實(shí)項(xiàng)目中大部分都是使用面向接口的
  4. demo中只寫了查詢 真實(shí)項(xiàng)目中大部分都是增刪改查都有

下篇預(yù)告:

  1. 面向接口編寫Mybatis代碼
  2. 自定義實(shí)體類
  3. 增刪改查

到此這篇關(guān)于一小時(shí)迅速入門Mybatis之初識(shí)篇的文章就介紹到這了,更多相關(guān)Mybatis 入門內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring boot2+jpa+thymeleaf實(shí)現(xiàn)增刪改查

    Spring boot2+jpa+thymeleaf實(shí)現(xiàn)增刪改查

    這篇文章主要介紹了Spring boot2+jpa+thymeleaf實(shí)現(xiàn)增刪改查,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • mybatis使用mapper代理開發(fā)方式

    mybatis使用mapper代理開發(fā)方式

    使用MyBatis代理開發(fā)模式時(shí),需要注意定義與映射配置文件同名的接口類,確保namespace屬性與接口路徑一致,接口方法名和映射文件中的id名稱相同,返回類型保持一致,在mybatis-config.xml中配置映射文件路徑,保證結(jié)構(gòu)一致,可通過注解@Param傳遞多個(gè)參數(shù)
    2024-10-10
  • 解決MyBatisPlus的updateBatchById()批量修改失效問題

    解決MyBatisPlus的updateBatchById()批量修改失效問題

    這篇文章主要介紹了解決MyBatisPlus的updateBatchById()批量修改失效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Spring Boot使用模板引擎JSP實(shí)例解析

    Spring Boot使用模板引擎JSP實(shí)例解析

    這篇文章主要介紹了Spring Boot使用模板引擎JSP實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java編寫時(shí)間工具類ZTDateTimeUtil的示例代碼

    Java編寫時(shí)間工具類ZTDateTimeUtil的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Java編寫時(shí)間工具類ZTDateTimeUtil,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Java數(shù)字圖像處理之圖像灰度處理

    Java數(shù)字圖像處理之圖像灰度處理

    這篇文章主要為大家詳細(xì)介紹了Java數(shù)字圖像處理之圖像灰度處理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • SpringBoot實(shí)現(xiàn)數(shù)據(jù)預(yù)熱的方式小結(jié)

    SpringBoot實(shí)現(xiàn)數(shù)據(jù)預(yù)熱的方式小結(jié)

    這里用到的數(shù)據(jù)預(yù)熱,就是在項(xiàng)目啟動(dòng)時(shí)將一些數(shù)據(jù)量較大的數(shù)據(jù)加載到緩存中(筆者這里用的Redis),那么在項(xiàng)目啟動(dòng)有哪些方式可以實(shí)現(xiàn)數(shù)據(jù)預(yù)熱呢,本文就來給大家講講幾種實(shí)現(xiàn)數(shù)據(jù)預(yù)熱的方式,需要的朋友可以參考下
    2023-09-09
  • 解析阿里GTS開源版本fescar分布式事務(wù)

    解析阿里GTS開源版本fescar分布式事務(wù)

    這篇文章主要為大家介紹解析阿里GTS開源版本fescar分布式事務(wù)的原理及使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多進(jìn)步
    2022-02-02
  • 淺析Java中String與StringBuffer拼接的區(qū)別

    淺析Java中String與StringBuffer拼接的區(qū)別

    String拼接會(huì)創(chuàng)建一個(gè)新的String對(duì)象,存儲(chǔ)拼接后的字符串,StringBuffer拼接是直接在本身拼接,會(huì)即時(shí)刷新。下面通過本文給大家介紹Java中String與StringBuffer拼接的區(qū)別,感興趣的朋友一起看看吧
    2017-06-06
  • Java中HashMap的初始容量設(shè)置方式

    Java中HashMap的初始容量設(shè)置方式

    這篇文章主要介紹了Java中HashMap的初始容量設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論