最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1.Mybatis概述

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

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

2.Mybatis快速入門(mén)

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

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

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

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

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

?? ? ? ?5.進(jìn)行test測(cè)試,通過(guò)工具類sqlSession實(shí)例來(lái)獲得mapper,調(diào)用映射文件中的SQL語(yǔ)句完成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.編寫(xiě)mapper映射文件和mybatis全局配置文件

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

編寫(xiě)對(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.編寫(xiě)一個(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自己手寫(xiě))

4.編寫(xiě)一個(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 命令所需的所有方法。
    // 你可以通過(guò) SqlSession 實(shí)例來(lái)直接執(zhí)行已映射的 SQL 語(yǔ)句。
 
    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 入門(mén)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java獲取登錄用戶的IP地址示例代碼

    Java獲取登錄用戶的IP地址示例代碼

    在開(kāi)發(fā)中我們經(jīng)常需要獲取用戶IP地址,通過(guò)地址來(lái)實(shí)現(xiàn)一些功能,下面這篇文章主要給大家介紹了關(guān)于Java獲取登錄用戶的IP地址的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • springboot攔截器Interceptor的使用,你都了解嗎

    springboot攔截器Interceptor的使用,你都了解嗎

    springmvc 中的攔截器可以對(duì)請(qǐng)求進(jìn)行判別,在請(qǐng)求到達(dá)控制器之前,把非法的請(qǐng)求給攔截掉下面來(lái)說(shuō)一說(shuō), 它在springboot中的使用,感興趣的朋友一起看看吧
    2021-07-07
  • 解決spring-boot-starter-web等報(bào)紅問(wèn)題

    解決spring-boot-starter-web等報(bào)紅問(wèn)題

    這篇文章主要介紹了解決spring-boot-starter-web等報(bào)紅問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java遞歸來(lái)實(shí)現(xiàn)漢諾塔游戲,注釋詳細(xì)

    Java遞歸來(lái)實(shí)現(xiàn)漢諾塔游戲,注釋詳細(xì)

    這篇文章介紹了Java遞歸來(lái)實(shí)現(xiàn)漢諾塔游戲的方法,文中的代碼注釋介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • vscode開(kāi)發(fā)maven的javaweb項(xiàng)目并部署到tomcat及配置指南

    vscode開(kāi)發(fā)maven的javaweb項(xiàng)目并部署到tomcat及配置指南

    這篇文章主要給大家介紹了關(guān)于vscode開(kāi)發(fā)maven的javaweb項(xiàng)目并部署到tomcat及配置的相關(guān)資料,在vscode中創(chuàng)建maven項(xiàng)目,需要逐一操作下面的環(huán)節(jié),文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 入門(mén)Java線程基礎(chǔ)一篇就夠了

    入門(mén)Java線程基礎(chǔ)一篇就夠了

    線程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源
    2021-06-06
  • idea新建springboot項(xiàng)目pom文件報(bào)錯(cuò)問(wèn)題及解決

    idea新建springboot項(xiàng)目pom文件報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了idea新建springboot項(xiàng)目pom文件報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Maven+oracle+SSM搭建簡(jiǎn)單項(xiàng)目的方法

    Maven+oracle+SSM搭建簡(jiǎn)單項(xiàng)目的方法

    本篇文章主要介紹了Maven+oracle+SSM搭建簡(jiǎn)單項(xiàng)目的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 詳解Java的Struts框架中棧值和OGNL的使用

    詳解Java的Struts框架中棧值和OGNL的使用

    這篇文章主要介紹了Java的Struts框架中棧值和OGNL的使用,Struts框架是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下
    2015-11-11
  • JAVA數(shù)字千分位和小數(shù)點(diǎn)的現(xiàn)實(shí)代碼(處理金額問(wèn)題)

    JAVA數(shù)字千分位和小數(shù)點(diǎn)的現(xiàn)實(shí)代碼(處理金額問(wèn)題)

    這篇文章主要介紹了JAVA數(shù)字千分位和小數(shù)點(diǎn)的現(xiàn)實(shí)代碼(處理金額問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10

最新評(píng)論

太湖县| 潮安县| 游戏| 朝阳区| 黔西县| 灵武市| 扬中市| 林甸县| 徐闻县| 新源县| 永新县| 临沭县| 惠水县| 肃北| 桐城市| 沅江市| 彭山县| 新昌县| 江西省| 响水县| 武义县| 罗城| 本溪市| 长寿区| 高安市| 涟源市| 淮阳县| 丹阳市| 阆中市| 颍上县| 北川| 治县。| 青川县| 临猗县| 高碑店市| 江阴市| 潞城市| 渝中区| 双牌县| 铜山县| 聂拉木县|