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

Mybatis中sql映射文件中的增刪查改

 更新時(shí)間:2025年10月09日 09:27:54   作者:我也有魚(yú)魚(yú)蒸  
本文主要介紹了Mybatis中sql映射文件中的增刪查改,包括創(chuàng)建數(shù)據(jù)表、配置Maven項(xiàng)目、編寫(xiě)實(shí)體類(lèi)和接口,以及mapper映射文件的增刪查改操作,具有一定的參考價(jià)值,感興趣的可以了解一下

映射文件內(nèi)的增刪查改

準(zhǔn)備工作

  1. 準(zhǔn)備一張數(shù)據(jù)表,用于進(jìn)行數(shù)據(jù)庫(kù)的相關(guān)操作。
  2. 新建maven工程, 導(dǎo)入mysql-connector-java和mybatis依賴(lài)。
  3. 新建一個(gè)實(shí)體類(lèi),類(lèi)的字段要和數(shù)據(jù)表的數(shù)據(jù)對(duì)應(yīng)
  4. 編寫(xiě)接口
  5. 編寫(xiě)mybatis主配置文件
public class User {
    private String name;
    private String gender;
    private int age;
    private String address;
    private String email;
    private String qq;

    public String getName() {
        return name;
    }

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

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }
}
<?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"></transactionManager>

            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>

        </environment>
    </environments>
</configuration>
public class Main {
    public static void main(String[] args) throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis.xml");
        SqlSession sqlSession = new SqlSessionFactoryBuilder().build(resourceAsStream).openSession();
    }
}

后續(xù)只需在接口內(nèi)添加相關(guān)方法,編寫(xiě)mapper映射文件進(jìn)行測(cè)試,后面僅展示mapper映射文件。

新增數(shù)據(jù)

插入數(shù)據(jù)的方法sqlSession.insert("mapper映射文件內(nèi)insert標(biāo)簽的id","傳入的參數(shù)"),并且例如增刪改的方法需要調(diào)用commit方法進(jìn)行提交。

編寫(xiě)sql語(yǔ)句時(shí),如果輸入的參數(shù)為java對(duì)象類(lèi)型,#{}表示接收java對(duì)象的屬性名 

<insert id="add" parameterType="com.cc.UserMapper" >
insert into tb_userinfo (name,gender,age,address,email,qq) values (#{name},#{gender},#{age},#{address},#{email},#{qq});
</insert>

這里將user對(duì)象作為參數(shù)傳入。 

        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis.xml");
        SqlSession sqlSession = new SqlSessionFactoryBuilder().build(resourceAsStream).openSession();
        //插入數(shù)據(jù)
        User user = new User("張四豐","女",25,"寧夏","1212@qq.com","987654");
        sqlSession.insert("add",user);
        sqlSession.commit();

刪除數(shù)據(jù)

根據(jù)姓名刪除數(shù)據(jù):調(diào)用sqlSession.delete方法,同時(shí)傳入一個(gè)字符串。

sqlSession.delete("delete","張大2");

    <delete id="delete" parameterType="String">
        delete from tb_userinfo where name = #{na}
    </delete>

修改數(shù)據(jù)

當(dāng)要傳入多個(gè)參數(shù)時(shí),除了使用類(lèi)將數(shù)據(jù)封裝起來(lái),還能使用map集合作為參數(shù)傳入,注意map的key值要和#{}內(nèi)的值一致。

    <update id="update" parameterType="map">
        update tb_userinfo set gender=#{gender},address=#{address} where name=#{nam}
    </update>
        Map<String,String> map = new HashMap<>();
        map.put("gender","女");
        map.put("nam","李思思");
        map.put("address","四川");
        sqlSession.update("update",map);

查詢(xún)數(shù)據(jù)

查詢(xún)所有

    <select id="seleteAll" resultType="com.cc.User">
        select * from tb_userinfo;
    </select>
        List<User> users = sqlSession.selectList("seleteAll");
        for(User u : users){
            System.out.print(u.getName());
            System.out.println(u.getAge());
        }

條件查詢(xún)

    <select id="seleteByName" resultType="com.cc.User" parameterType="String">
        select * from tb_userinfo where name = #{name}
    </select>
        User user = sqlSession.selectOne("seleteByName", "李思思");
        System.out.println(user.getGender());
        System.out.println(user.getAddress());

模糊查詢(xún)

    <select id="seleteLike" resultType="com.cc.User" parameterType="String">
        select * from tb_userinfo where name like #{name}
    </select>
        User o = sqlSession.selectOne("seleteLike", "%大%");
        System.out.println(o.getName());

映射文件的相關(guān)補(bǔ)充

#{}與${}

#{}與${}都能夠接收輸入的參數(shù),區(qū)別是#{}表示一個(gè)占位符號(hào),${}表示一個(gè)拼接符號(hào),這樣會(huì)導(dǎo)致sql注入,因此不建議使用${}

parameterType和resultType

parameterType:指定輸入?yún)?shù)類(lèi)型,mybatis通過(guò)ognl從輸入對(duì)象中獲取參數(shù)值拼接在sql中。

resultType:指定輸出結(jié)果類(lèi)型,mybatis將sql查詢(xún)結(jié)果的一行記錄數(shù)據(jù)映射為resultType指定類(lèi)型的對(duì)象。

到此這篇關(guān)于Mybatis中sql映射文件中的增刪查改的文章就介紹到這了,更多相關(guān)Mybatis sql映射文件增刪查改內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot一鍵application.yml配置文件實(shí)踐

    springboot一鍵application.yml配置文件實(shí)踐

    application-dev.yml文件是Spring Boot項(xiàng)目中用于定義開(kāi)發(fā)環(huán)境配置的一個(gè)YAML格式文件,它包含了數(shù)據(jù)庫(kù)連接、服務(wù)器端口、日志級(jí)別、緩存配置等開(kāi)發(fā)過(guò)程中常用的設(shè)置,通過(guò)這個(gè)文件,開(kāi)發(fā)者可以在不同的環(huán)境中(如開(kāi)發(fā)、測(cè)試、生產(chǎn))切換配置,而無(wú)需修改代碼
    2026-02-02
  • tk mybatis update各種類(lèi)型使用及說(shuō)明

    tk mybatis update各種類(lèi)型使用及說(shuō)明

    文章總結(jié)了Java中使用MyBatis進(jìn)行數(shù)據(jù)更新的方法,包括根據(jù)example對(duì)象更新所有屬性或部分屬性,以及根據(jù)主鍵更新所有屬性或部分屬性的API使用和生成的SQL語(yǔ)句
    2026-04-04
  • Socket+JDBC+IO實(shí)現(xiàn)Java文件上傳下載器DEMO詳解

    Socket+JDBC+IO實(shí)現(xiàn)Java文件上傳下載器DEMO詳解

    這篇文章主要介紹了Socket+JDBC+IO實(shí)現(xiàn)Java文件上傳下載器DEMO詳解,需要的朋友可以參考下
    2017-05-05
  • img 加載網(wǎng)絡(luò)圖片失敗 顯示默認(rèn)圖片的方法

    img 加載網(wǎng)絡(luò)圖片失敗 顯示默認(rèn)圖片的方法

    下面小編就為大家?guī)?lái)一篇img 加載網(wǎng)絡(luò)圖片失敗 顯示默認(rèn)圖片的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • spring用戶(hù)通過(guò)交互界面登錄成功的實(shí)現(xiàn)

    spring用戶(hù)通過(guò)交互界面登錄成功的實(shí)現(xiàn)

    本文主要介紹了spring用戶(hù)通過(guò)交互界面登錄成功的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • java Arrays類(lèi)詳解及實(shí)例代碼

    java Arrays類(lèi)詳解及實(shí)例代碼

    這篇文章主要介紹了java Arrays類(lèi)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Java 回調(diào)函數(shù)詳解及使用

    Java 回調(diào)函數(shù)詳解及使用

    這篇文章主要介紹了Java 回調(diào)函數(shù)詳解及使用,附有簡(jiǎn)單實(shí)例,需要的朋友可以參考下
    2017-03-03
  • java8新特性 獲取list某一列的操作

    java8新特性 獲取list某一列的操作

    這篇文章主要介紹了java8新特性 獲取list某一列的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • Spring配置使用之Bean生命周期詳解

    Spring配置使用之Bean生命周期詳解

    這篇文章主要介紹了Spring配置使用之Bean生命周期詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • 如何設(shè)置springboot啟動(dòng)端口

    如何設(shè)置springboot啟動(dòng)端口

    spring boot是個(gè)好東西,可以不用容器直接在main方法中啟動(dòng),而且無(wú)需配置文件,方便快速搭建環(huán)境。下面給大家介紹springboot啟動(dòng)端口的設(shè)置方法和spring boot創(chuàng)建應(yīng)用端口沖突8080 問(wèn)題,感興趣的朋友一起看看吧
    2017-08-08

最新評(píng)論

浪卡子县| 喀喇| 湘乡市| 隆林| 哈尔滨市| 和田市| 赤壁市| 土默特左旗| 滦平县| 聂拉木县| 于田县| 卢湾区| 锡林浩特市| 延寿县| 自治县| 黄龙县| 唐河县| 麟游县| 新安县| 若尔盖县| 年辖:市辖区| 大连市| 建湖县| 锡林郭勒盟| 修文县| 泾源县| 定边县| 东方市| 信丰县| 张家界市| 中宁县| 恩施市| 永吉县| 青浦区| 清苑县| 鹤山市| 固始县| 秦安县| 太湖县| 南溪县| 庐江县|