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

mybatis的增刪改查運(yùn)用方式

 更新時(shí)間:2023年11月21日 09:21:58   作者:云邊的快樂貓  
這篇文章主要介紹了mybatis的增刪改查運(yùn)用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、總覽圖

代碼總覽圖 

數(shù)據(jù)庫總覽圖

二、運(yùn)用 

數(shù)據(jù)庫的一張表對應(yīng)一個(gè)封裝類,一個(gè)mapper接口,一個(gè)mapper.xml文件, 一個(gè)實(shí)現(xiàn)類。表中的增刪改查都在里面編寫

但是配置xml文件整個(gè)數(shù)據(jù)庫只要一個(gè)就好了

1.pom.xml文件根據(jù)創(chuàng)建的maven或者spring項(xiàng)目去配置

2.mybatis統(tǒng)一配置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"/>
            <dataSource type="POOLED">
                <!--數(shù)據(jù)庫信息-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/><!--改:數(shù)據(jù)庫的固定連接,老版本不用cj-->
                <property name="url" value="jdbc:mysql://localhost:3306/mishop?useSSL=false&amp;serverTimezone=UTC"/><!--mishop改:數(shù)據(jù)庫的要連接的庫-->
                <property name="username" value="root"/><!--改:數(shù)據(jù)庫的賬號-->
                <property name="password" value="root"/><!--改:數(shù)據(jù)庫的密碼-->
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--加載映射文件-->
        <mapper resource="com/project/Mapper/AdminMapper.xml"/><!--改:把映射文件的源根路徑復(fù)制到這里-->
    </mappers>
</configuration>

3.pojo里面的封裝類(屬性對應(yīng)數(shù)據(jù)庫表中的屬性)

ps:里面要含有set、get方法,有無參構(gòu)造方法、toString

package com.project.pojo;
 
 
public class Admin {
    private Integer adminId;
    private String adminName;
    private String adminPwd;
    private Integer adminDisable;
 
    public Integer getAdminId() {
        return adminId;
    }
 
    public void setAdminId(Integer adminId) {
        this.adminId = adminId;
    }
 
    public String getAdminName() {
        return adminName;
    }
 
    public void setAdminName(String adminName) {
        this.adminName = adminName;
    }
 
    public String getAdminPwd() {
        return adminPwd;
    }
 
    public void setAdminPwd(String adminPwd) {
        this.adminPwd = adminPwd;
    }
 
    public Integer getAdminDisable() {
        return adminDisable;
    }
 
    public void setAdminDisable(Integer adminDisable) {
        this.adminDisable = adminDisable;
    }
 
    public Admin(Integer adminId, String adminName, String adminPwd, Integer adminDisable) {
        this.adminId = adminId;
        this.adminName = adminName;
        this.adminPwd = adminPwd;
        this.adminDisable = adminDisable;
    }
 
    public Admin() {
    }
 
    @Override
    public String toString() {
        return "Admin{" +
                "adminId=" + adminId +
                ", adminName='" + adminName + '\'' +
                ", adminPwd='" + adminPwd + '\'' +
                ", adminDisable=" + adminDisable +
                '}';
    }
}

4.SQL語句接口映射文件(小藍(lán)鳥

package com.project.Mapper;
 
import com.project.pojo.Admin;
 
import java.util.List;
public interface AdminMapper {
    //增
    // void (封裝類 封裝類小寫)
    //括號要用封裝類是因?yàn)楸砝锩婺切袛?shù)據(jù)都要進(jìn)行增加
    void add (Admin admin);
 
    //改
    // void 自定義名稱 (封裝類 封裝類小寫);
    //括號要用封裝類是因?yàn)楸砝锩婺切袛?shù)據(jù)都要進(jìn)行增加
    void updateId(Admin admin);
 
    //查全部
    // list <pojo封裝類> 自定義全部查詢();
    //因?yàn)槭遣樵內(nèi)浚岳ㄌ柪锩娌挥眉尤魏螀?shù)
    List<Admin> selectAll();
 
    //查單個(gè)
    //list <pojo封裝類> 自定義全部查詢(自定義參數(shù)根據(jù)id查詢);
    List<Admin> selectId(int id);
 
 
    //刪
    // void 自定義名稱 (自定義參數(shù)為要根據(jù)id進(jìn)行刪除);
    void deleteId(int id);
}

5.編寫SQL語句映射的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">
 
<!--sql映射查詢方法-->
 
<!--namespace=對應(yīng)接口的全部路徑-->
<mapper namespace="com.project.Mapper.AdminMapper">
        <!--新增的SQL語句    -->
        <!--第一行:insert新增標(biāo)簽 id="接口定義的名字"  parameterType="封裝類的全限名"     -->
        <!--第二行:SQL語句-自增id用null,其他的用#{封裝類的屬性名} ,....   -->
    <insert id="add" parameterType="com.project.pojo.Admin">
        insert into admin values (null,#{adminName},#{adminPwd},#{adminDisable})
    </insert>
 
        <!--刪除的SQL語句    -->
        <!-- 第一行:delete刪除標(biāo)簽 id="接口定義的名字"  parameterType="封裝類的全限名"   -->
        <!--第二行:SQL語句-根據(jù)id(封裝的屬性)進(jìn)行刪除    -->
    <delete id="deleteId" parameterType="com.project.pojo.Admin">
        delete from admin where adminId=#{adminId}
    </delete>
 
        <!--修改的SQL語句    -->
        <!--第一行:update修改標(biāo)簽  id="接口定義的名字"  parameterType="封裝類的全限名"   -->
        <!-- 第二行:SQL語句-因?yàn)橐薷牡氖悄切械娜繑?shù)據(jù),所以封裝的屬性都要一一對應(yīng)寫出來    -->
    <update id="updateId" parameterType="com.project.pojo.Admin">
        update admin set adminName=#{adminName},adminPwd=#{adminPwd},adminDisable=#{adminDisable} where adminId=#{adminId}
    </update>
 
    <!--查詢?nèi)康腟QL語句    -->
    <!-- 第一行:select查詢標(biāo)簽  resultType="封裝類的權(quán)限定名"  -->
    <select id="selectAll" resultType="com.project.pojo.Admin">
        select * from admin
    </select>
    <!-- 查詢單個(gè)的SQL語句  如上 -->
    <select id="selectId" resultType="com.project.pojo.Admin">
        select * from admin where AdminId=#{adminId}
    </select>
 
</mapper>

6.實(shí)現(xiàn)類(要運(yùn)行哪個(gè)就直接從注釋里面提取出來就好)

package com.project.pojo;
 
import com.project.Mapper.AdminMapper;
import lombok.extern.slf4j.Slf4j;
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;
 
 
public class AdminImpl {
    public static void main(String[] args) throws IOException {
 
        //1.加載mybatis連接文件(核心配置文件)
        String resource = "mybatis-config.xml";//這是連接數(shù)據(jù)庫的
        InputStream inputStream = Resources.getResourceAsStream(resource);//固定寫法
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//固定寫法
 
        //2.獲取sqlSessionFactory對象--固定的寫法
        SqlSession sqlSession = sqlSessionFactory.openSession();
 
        //3.執(zhí)行sql語句
        AdminMapper adminMapper = sqlSession.getMapper(AdminMapper.class);
 
 
        //以下這些用哪個(gè)執(zhí)行哪個(gè)
 
/*         // 添加的方法
        Admin admin = new Admin();
        admin.setAdminName("wangwu");
        admin.setAdminPwd("8888");
        admin.setAdminDisable(54);
        //Mapper接口里面的添加方法
        adminMapper.add(admin);
        */
 
 
/*        Mapper接口里面的刪除方法
        adminMapper.deleteId(14);
        */
 
 
/*      修改的方法
        Admin admin = new Admin();
        admin.setAdminId(7);
        admin.setAdminName("王五");
        admin.setAdminPwd("123456");
        admin.setAdminDisable(5555);
        //Mapper接口里面的修改方法
        adminMapper.updateId(admin);
        */
 
 
/*      查詢單個(gè)的方法,Mapper接口里面的查詢方法
        List<Admin> selectId = adminMapper.selectId(5);
        System.out.println(selectId);
        */
 
/*        //查詢?nèi)康姆椒?
        List<Admin> selectAll = adminMapper.selectAll();
        System.out.println(selectAll);*/
        
        //提交
        sqlSession.commit();
 
        //6.釋放資源
        sqlSession.close();
    }
 
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Springboot錯(cuò)誤頁面和錯(cuò)誤信息定制操作

    Springboot錯(cuò)誤頁面和錯(cuò)誤信息定制操作

    這篇文章主要介紹了Springboot錯(cuò)誤頁面和錯(cuò)誤信息定制操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • SpringBoot整合阿里云開通短信服務(wù)詳解

    SpringBoot整合阿里云開通短信服務(wù)詳解

    這篇文章主要介紹了如何利用SpringBoot整合阿里云實(shí)現(xiàn)短信服務(wù)的開通,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)有一定幫助,需要的可以參考一下
    2022-03-03
  • JAVA操作elastic?search的詳細(xì)過程

    JAVA操作elastic?search的詳細(xì)過程

    Elasticsearch?Rest?High?Level?Client?是?Elasticsearch?官方提供的一個(gè)?Java?客戶端庫,用于與?Elasticsearch?進(jìn)行交互,本文介紹JAVA操作elastic?search的詳細(xì)過程,感興趣的朋友一起看看吧
    2024-08-08
  • Java使用lambda表達(dá)式簡化代碼的示例詳解

    Java使用lambda表達(dá)式簡化代碼的示例詳解

    這篇文章主要給大家介紹了Java如何使用lambda表達(dá)式簡化代碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-11-11
  • MyBatis實(shí)踐之DAO與Mapper

    MyBatis實(shí)踐之DAO與Mapper

    MyBatis前身是iBatis,是一個(gè)基于Java的數(shù)據(jù)持久層/對象關(guān)系映射(ORM)框架.通過本文給大家介紹MyBatis實(shí)踐之DAO與Mapper的相關(guān)知識,需要的朋友參考下吧
    2016-03-03
  • Java中@Autowired與@Resource注解的區(qū)別詳解

    Java中@Autowired與@Resource注解的區(qū)別詳解

    這篇文章主要介紹了Java中@Autowired與@Resource注解的區(qū)別詳解,@Resource的作用相當(dāng)于@Autowired,只不過@Autowired按byType自動注入,而@Resource默認(rèn)按 byName自動注入罷了,@Resource有兩個(gè)屬性是比較重要的,需要的朋友可以參考下
    2023-11-11
  • httpclient重定向之后獲取網(wǎng)址信息示例

    httpclient重定向之后獲取網(wǎng)址信息示例

    使用HttpClient進(jìn)行127.0.0.1:8080地址的問題,然后該地址自動重定向127.0.0.1:8080/mobserver,如何獲取該地址呢?使用HttpContext,下面是示例
    2014-02-02
  • Maven?自動化構(gòu)建的實(shí)現(xiàn)示例

    Maven?自動化構(gòu)建的實(shí)現(xiàn)示例

    本文主要介紹了Maven?自動化構(gòu)建的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • IDEA連接達(dá)夢數(shù)據(jù)庫的詳細(xì)配置指南

    IDEA連接達(dá)夢數(shù)據(jù)庫的詳細(xì)配置指南

    達(dá)夢數(shù)據(jù)庫(DM Database)作為國產(chǎn)關(guān)系型數(shù)據(jù)庫的代表,廣泛應(yīng)用于企業(yè)級系統(tǒng)開發(fā),本文將詳細(xì)介紹如何在IntelliJ IDEA中配置并連接達(dá)夢數(shù)據(jù)庫,助力開發(fā)者高效完成數(shù)據(jù)庫開發(fā)工作,需要的朋友可以參考下
    2025-03-03
  • Java中兩個(gè)List之間的比較方法(差集、交集和并集)

    Java中兩個(gè)List之間的比較方法(差集、交集和并集)

    在業(yè)務(wù)的開發(fā)過程中會經(jīng)常用到兩個(gè)List集合相互取值的情況,下面這篇文章主要給大家介紹了關(guān)于Java中兩個(gè)List之間的比較方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06

最新評論