亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java?MyBatis傳出參數(shù)resultType和resultMap解讀

 更新時間:2022年12月21日 11:24:30   作者:MinggeQingchun  
這篇文章主要介紹了Java?MyBatis傳出參數(shù)resultType和resultMap解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MyBatis輸出參數(shù) resultType 和 resultMap

我們需要在 mybatis-config.xml 文件中加如下配置

<!--定義別名-->
? ? <typeAliases>
? ? ? ? <!--
? ? ? ? ? ? 第一種方式:
? ? ? ? ? ? 指定一個類型一個自定義別名
? ? ? ? ? ? type:自定義類型的全限定名稱
? ? ? ? ? ? alias:別名
? ? ? ? -->
? ? ? ? <typeAlias type="com.mycompany.domain.User" alias="user" />
? ? ? ? <typeAlias type="com.mycompany.vo.ViewUser" alias="vUser" />
?
? ? ? ? <!--
? ? ? ? ? 第二種方式
? ? ? ? ? <package> name是包名, 這個包中的所有類,類名就是別名(類名不區(qū)分大小寫)
? ? ? ? -->
? ? ? ? <package name="com.mycompany.domain" />
? ? ? ? <package name="com.mycompany.vo" />
?
? ? </typeAliases>

文件完全內(nèi)容如下

<?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">
?
<!--
? ? mybatis的主配置文件:主要定義了數(shù)據(jù)庫的配置信息,SQL映射文件的位置
? ? 1、約束文件
? ? ? ? <!DOCTYPE configuration
? ? ? ? ? ? PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
? ? ? ? ? ? "http://mybatis.org/dtd/mybatis-3-config.dtd">
? ? ? ? mybatis-3-config.dtd:約束文件名稱
? ? 2、configuration:根標簽
-->
<configuration>
?
? ? <!-- settings:mybatis全局行為 -->
? ? <settings>
? ? ? ? <!-- 設(shè)置mybatis輸出日志 -->
? ? ? ? <setting name="logImpl" value="STDOUT_LOGGING" />
? ? </settings>
?
? ? <!--定義別名-->
? ? <typeAliases>
? ? ? ? <!--
? ? ? ? ? ? 第一種方式:
? ? ? ? ? ? 指定一個類型一個自定義別名
? ? ? ? ? ? type:自定義類型的全限定名稱
? ? ? ? ? ? alias:別名
? ? ? ? -->
? ? ? ? <typeAlias type="com.mycompany.domain.User" alias="user" />
? ? ? ? <typeAlias type="com.mycompany.vo.ViewUser" alias="vUser" />
?
? ? ? ? <!--
? ? ? ? ? 第二種方式
? ? ? ? ? <package> name是包名, 這個包中的所有類,類名就是別名(類名不區(qū)分大小寫)
? ? ? ? -->
? ? ? ? <package name="com.mycompany.domain" />
? ? ? ? <package name="com.mycompany.vo" />
?
? ? </typeAliases>
?
? ? <!--
? ? ? ? 環(huán)境配置:數(shù)據(jù)庫的連接信息
? ? ? ? ? ? default:必須和某個environment的id值一樣
? ? ? ? ? ? 告訴mybatis使用哪個數(shù)據(jù)庫的連接信息(訪問哪個數(shù)據(jù)庫)
? ? -->
? ? <environments default="development">
?
? ? ? ? <!--
? ? ? ? ? ? environment:一個數(shù)據(jù)庫的配置,環(huán)境
? ? ? ? ? ? id:一個唯一值(可自定義,表示環(huán)境的名稱)
? ? ? ? ?-->
? ? ? ? <environment id="development">
? ? ? ? ? ? <!--
? ? ? ? ? ? ? ? transactionManaer:mybatis的事務類型
? ? ? ? ? ? ? ? ? ? type:JDBC(表示使用JDBC中的Connection對象的commit,rollback做事務處理)
? ? ? ? ? ? -->
? ? ? ? ? ? <transactionManager type="JDBC"/>
? ? ? ? ? ? <!--
? ? ? ? ? ? ? ? dataSource:表示數(shù)據(jù)源,連接數(shù)據(jù)庫的
? ? ? ? ? ? ? ? ? ? type:表述數(shù)據(jù)源的類型,POOLED表示使用連接池
? ? ? ? ? ? -->
? ? ? ? ? ? <dataSource type="POOLED">
? ? ? ? ? ? ? ? <!--
? ? ? ? ? ? ? ? ? ?driver, user, username, password 是固定的,不能自定義。
? ? ? ? ? ? ? ? -->
? ? ? ? ? ? ? ? <!-- 數(shù)據(jù)庫驅(qū)動類名 -->
? ? ? ? ? ? ? ? <property name="driver" value="com.mysql.jdbc.Driver"/>
? ? ? ? ? ? ? ? <!-- 連接數(shù)據(jù)庫的URL字符串 -->
? ? ? ? ? ? ? ? <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
? ? ? ? ? ? ? ? <!-- 訪問數(shù)據(jù)庫的用戶名 -->
? ? ? ? ? ? ? ? <property name="username" value="root"/>
? ? ? ? ? ? ? ? <!-- 訪問數(shù)據(jù)庫的密碼 -->
? ? ? ? ? ? ? ? <property name="password" value="123456"/>
? ? ? ? ? ? </dataSource>
? ? ? ? </environment>
?
? ? ? ? <!--表示線上的數(shù)據(jù)庫,是項目真實使用的庫-->
? ? ? ? <environment id="online">
? ? ? ? ? ? <transactionManager type="JDBC"/>
? ? ? ? ? ? <dataSource type="POOLED">
? ? ? ? ? ? ? ? <property name="driver" value="com.mysql.jdbc.Driver"/>
? ? ? ? ? ? ? ? <property name="url" value="jdbc:mysql://localhost:3306/onlinedb"/>
? ? ? ? ? ? ? ? <property name="username" value="root"/>
? ? ? ? ? ? ? ? <property name="password" value="123456"/>
? ? ? ? ? ? </dataSource>
? ? ? ? </environment>
?
? ? </environments>
?
? ? <!-- sql mapper(SQL映射文件)的位置 -->
? ? <mappers>
? ? ? ? <!--
? ? ? ? ? ? 一個mapper標簽指定一個文件的位置
? ? ? ? ? ? ? ? 從類路徑開始的路徑信息(target/classes)類路徑
? ? ? ? -->
? ? ? ? <mapper resource="com/mycompany/dao/UserDao.xml"/>
? ? </mappers>
</configuration>

一、resultType

執(zhí)行 sql 得到 ResultSet 轉(zhuǎn)換的類型,使用類型的完全限定名或別名

1、簡單類型

UserDao接口文件

public User selectUserByUserId(@Param("userId") Integer id);
?
List<User> selectMultiParam(@Param("username") String userName,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @Param("userage") Integer age);

UserDao.xml文件

<!--
? ? resultType:
? ? ? ? ? ? 表示結(jié)果類型,SQL語句執(zhí)行后得到ResultSet結(jié)果集,遍歷這個結(jié)果集得到的Java對象類型
? ? ? ? ? ? 值寫Java對象的全限定名稱
? ? 1、resultType="vUser"
? ? ? ? mybatis-config.xml文件中第一種方式
? ? ? ? 指定一個類型一個自定義別名
? ? ? ? ? ? type:自定義類型的全限定名稱
? ? ? ? ? ? alias:別名
? ? 2、resultType="ViewUser"
? ? ? ? mybatis-config.xml文件中第二種方式:
? ? ? ? ? <package> name是包名, 這個包中的所有類,類名就是別名(類名不區(qū)分大小寫)
? ? 注:
? ? ? ? resultType="User" 如果一個項目中有多個User類文件,會報錯
? ? ? ? Could not resolve type alias 'User'. ?Cause: java.lang.ClassNotFoundException: Cannot find class: User
? ? -->
? ? <select id="selectUserByUserId" resultType="User">
? ? ? ? select user_id,user_name,email,age
? ? ? ? from user
? ? ? ? where user_id = #{userId}
? ? </select>
?
? ? <!--多個參數(shù),使用@Param命名-->
? ? <select id="selectMultiParam" resultType="com.mycompany.domain.User" >
? ? ? ? select user_id,user_name,email,age
? ? ? ? from user
? ? ? ? where user_name = #{username} or age = #{userage}
? ? </select>

TestMyBatis測試類

@Test
? ? public void testSelectUserByUserId(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? User user = userDao.selectUserByUserId(1);
? ? ? ? ? ? System.out.println("user="+user);
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
?
? ? @Test
? ? public void testSelectMultiParam(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? List<User> userList = userDao.selectMultiParam("zhangsan",20);
? ? ? ? ? ? for(User user: userList){
? ? ? ? ? ? ? ? System.out.println("用戶="+user);
? ? ? ? ? ? }
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }

2、Map類型

UserDao接口文件

//定義方法返回Map
? ? Map<Object,Object> selectMapById(Integer id);
UserDao.xml文件

<select id="selectMapById" resultType="java.util.HashMap">
? ? ? ? select user_id,user_name,email,age
? ? ? ? from user
? ? ? ? where user_id=#{userId}
? ? </select>

TestMyBatis測試類

@Test
? ? public void testSelectMapById(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? Map<Object,Object> map = userDao.selectMapById(1);
? ? ? ? ? ? System.out.println("map=="+map);
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }

3、對象類型

UserDao接口文件

ViewUser selectUserReturnViewUser(@Param("userId") Integer id);

UserDao.xml文件

<!--
? ? ? ? 1、resultType="vUser"
? ? ? ? mybatis-config.xml文件中第一種方式
? ? ? ? 指定一個類型一個自定義別名
? ? ? ? ? ? type:自定義類型的全限定名稱
? ? ? ? ? ? alias:別名
? ? ? ? 2、resultType="ViewUser"
? ? ? ? mybatis-config.xml文件中第二種方式:
? ? ? ? ? <package> name是包名, 這個包中的所有類,類名就是別名(類名不區(qū)分大小寫)
? ? -->
? ? <select id="selectUserReturnViewUser" resultType="ViewUser">
? ? ? ? select user_id,user_name
? ? ? ? from user
? ? ? ? where user_id = #{userId}
? ? </select>

TestMyBatis測試類

@Test
? ? public void testSelectUserReturnViewUser(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? ViewUser user = userDao.selectUserReturnViewUser(1);
? ? ? ? ? ? System.out.println("ViewUser="+user);
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }

注:

(1)如果返回的是集合,那應該設(shè)置為集合包含的類型,而不是集合本身

(2)resultType 和 resultMap,不能同時使用

(3)resultType="User" 如果一個項目中有多個User類文件,會報錯

Could not resolve type alias 'User'. Cause: java.lang.

ClassNotFoundException: Cannot find class: User

此時最好指定全限定名稱

二、resultMap

resultMap 可以自定義 sql 的結(jié)果和 java 對象屬性的映射關(guān)系;更靈活的把列值賦值給指定屬性

常用在列名和 java 對象屬性名不一樣的情況

使用方式:

(1)先定義 resultMap,指定列名和屬性的對應關(guān)系

(2)在<select>中把 resultType 替換為 resultMap

列名和Java對象屬性名不一樣時,有兩種處理方式

(1)使用resultMap映射

(2)resultType的默認原則是 同名的列值賦值給同名的屬性, 使用列別名(java對象的屬性名)

如下Java類屬性

public class User {
? ? private int userId;
? ? private String userName;
? ? private String email;
? ? private int age;
}
?
?
public class MyUser {
? ? private int myUserId;
? ? private String myUserName;
? ? private String myUserEmail;
? ? private int myUserAge;
}

UserDao接口文件

/*
? ? ?使用resultMap定義映射關(guān)系
? ? */
? ? List<User> selectAllUsers();
?
? ? List<MyUser> selectMyUser();
?
? ? List<MyUser> selectDiffColProperty();

UserDao.xml文件

<!--使用resultMap
? ? ? ? (1)先定義resultMap
? ? ? ? (2)在select標簽,使用resultMap來引用定義
? ? ? ? id:自定義名稱,表示定義的這個resultMap
? ? ? ? type:java類型的全限定名稱
? ? -->
? ? <resultMap id="userMap" type="com.mycompany.domain.User">
? ? ? ? <!--列名和java屬性的關(guān)系
? ? ? ? ? ? 注解列,使用id標簽
? ? ? ? ? ? column :列名(數(shù)據(jù)庫表字段列名)
? ? ? ? ? ? property:java類型的屬性名
? ? ? ? -->
? ? ? ? <!-- 主鍵列使用 id 標簽-->
? ? ? ? <id column="user_id" property="userId" />
? ? ? ? <!-- 非主鍵列使用 result 標簽-->
? ? ? ? <result column="user_name" property="userName" />
? ? ? ? <result column="email" property="email" />
? ? ? ? <result column="age" property="age" />
? ? </resultMap>
?
? ? <select id="selectAllUsers" resultMap="userMap">
? ? ? ? select user_id,user_name,email,age
? ? ? ? from user
? ? ? ? where user_id=#{userId}
? ? </select>
?
? ? <resultMap id="myUserMap" type="com.mycompany.domain.MyUser">
? ? ? ? <id column="user_id" property="myUserId" />
? ? ? ? <result column="user_name" property="myUserName" />
? ? ? ? <result column="email" property="myUserEmail" />
? ? ? ? <result column="age" property="myUserAge" />
? ? </resultMap>
?
? ? <!--列名和屬性名不一樣:第一種方式
? ? ? ? 使用resultMap映射
? ? -->
? ? <select id="selectMyUser" resultMap="myUserMap">
? ? ? ? select user_id,user_name,email,age
? ? ? ? from user
? ? </select>
?
? ? <!--列名和屬性名不一樣:第二種方式
? ? ? ?resultType的默認原則是 同名的列值賦值給同名的屬性, 使用列別名(java對象的屬性名)
? ? -->
? ? <select id="selectDiffColProperty" resultType="com.mycompany.domain.MyUser">
? ? ? ? select user_id as myUserId ,user_name as myUserName, email as myUserEmail , age myUserAge
? ? ? ? from user
? ? </select>

TestMyBatis測試類

@Test
? ? public void testSelectAllUsers(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? List<User> userList = userDao.selectAllUsers();
? ? ? ? ? ? for(User user: userList){
? ? ? ? ? ? ? ? System.out.println("用戶="+user);
? ? ? ? ? ? }
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
?
? ? @Test
? ? public void testSelectMyUser(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? List<MyUser> userList = userDao.selectMyUser();
? ? ? ? ? ? for(MyUser user: userList){
? ? ? ? ? ? ? ? System.out.println("MyUser用戶="+user);
? ? ? ? ? ? }
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
?
? ? @Test
? ? public void testSelectDiffColProperty(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? List<MyUser> userList = userDao.selectDiffColProperty();
? ? ? ? ? ? for(MyUser user: userList){
? ? ? ? ? ? ? ? System.out.println("MyUser用戶="+user);
? ? ? ? ? ? }
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }

三、模糊 like 

模糊查詢的實現(xiàn)有兩種方式, 一是 java 代碼中給查詢數(shù)據(jù)加上“%” ; 二是在 mapper 文件 sql 語句的條件位置加上“%”

UserDao接口文件

/*第一種模糊查詢, 在java代碼指定 like的內(nèi)容*/
? ? List<User> selectLikeOne(String name);
?
? ? /*name就是李值, 在mapper中拼接 like ?"%" li "%" */
? ? List<User> selectLikeTwo(String name);

UserDao.xml文件

<!--第一種 like ,java代碼指定 like的內(nèi)容-->
? ? <select id="selectLikeOne" resultType="com.mycompany.domain.User">
? ? ? ? select user_id, user_name, email, age
? ? ? ? from user
? ? ? ? where user_name like #{user_name}
? ? </select>
?
? ? <!--第二種方式:在mapper文件中拼接 like的內(nèi)容-->
? ? <select id="selectLikeTwo" resultType="com.mycompany.domain.User">
? ? ? ? select user_id, user_name, email, age
? ? ? ? from user
? ? ? ? where user_name like "%" #{user_name} "%"
? ? </select>

TestMyBatis測試類

?@Test
? ? public void testSelectLikeOne(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? //like的內(nèi)容
? ? ? ? ? ? String name = "%li%";
? ? ? ? ? ? List<User> userList = userDao.selectLikeOne(name);
? ? ? ? ? ? for(User user: userList){
? ? ? ? ? ? ? ? System.out.println("User用戶="+user);
? ? ? ? ? ? }
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
?
? ? @Test
? ? public void testSelectLikeTwo(){
? ? ? ? try {
? ? ? ? ? ? SqlSession sqlSession = MyBatisUtil.getSqlSession();
? ? ? ? ? ? UserDao userDao = sqlSession.getMapper(UserDao.class);
?
? ? ? ? ? ? //like的內(nèi)容
? ? ? ? ? ? String name = "li";
? ? ? ? ? ? List<User> userList = userDao.selectLikeTwo(name);
? ? ? ? ? ? for(User user: userList){
? ? ? ? ? ? ? ? System.out.println("User用戶="+user);
? ? ? ? ? ? }
? ? ? ? ? ? sqlSession.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }

總結(jié)

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

相關(guān)文章

  • Java實戰(zhàn)項目 醫(yī)院預約掛號系統(tǒng)

    Java實戰(zhàn)項目 醫(yī)院預約掛號系統(tǒng)

    本文是一個Java語言編寫的實戰(zhàn)項目,是一個醫(yī)院預約掛號系統(tǒng),主要用到了jdbc+jsp+mysql+ajax等技術(shù),技術(shù)含量比較高,感興趣的童鞋跟著小編往下看吧
    2021-09-09
  • SpringCloud輪詢拉取注冊表與服務發(fā)現(xiàn)流程詳解

    SpringCloud輪詢拉取注冊表與服務發(fā)現(xiàn)流程詳解

    這篇文章主要介紹了SpringCloud輪詢拉取注冊表與服務發(fā)現(xiàn),現(xiàn)在很多創(chuàng)業(yè)公司都開始往springcloud靠了,可能是由于文檔和組件比較豐富的原因吧,畢竟是一款目前來說比較完善的微服務架構(gòu)
    2022-11-11
  • NoHttpResponseException問題排查解決記錄分析

    NoHttpResponseException問題排查解決記錄分析

    這篇文章主要為大家介紹了NoHttpResponseException問題排查解決記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • DolphinScheduler容錯源碼分析之Worker

    DolphinScheduler容錯源碼分析之Worker

    這篇文章主要為大家介紹了DolphinScheduler容錯源碼分析之Worker,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Java重寫equals及hashcode方法流程解析

    Java重寫equals及hashcode方法流程解析

    這篇文章主要介紹了Java重寫equals及hashcode方法流程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 利用idea快速搭建一個spring-cloud(圖文)

    利用idea快速搭建一個spring-cloud(圖文)

    本文主要介紹了idea快速搭建一個spring-cloud,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • SpringBoot自定義starter實例代碼

    SpringBoot自定義starter實例代碼

    這篇文章主要給大家介紹了關(guān)于SpringBoot自定義starter的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用SpringBoot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • 128進制加密數(shù)據(jù)示例分享

    128進制加密數(shù)據(jù)示例分享

    這篇文章主要介紹了128進制加密數(shù)據(jù)示例,這里使用JAVA實現(xiàn),需要的朋友可以參考下
    2014-03-03
  • Spring擴展接口知識總結(jié)

    Spring擴展接口知識總結(jié)

    今天帶大家學習Java Spring的相關(guān)知識,文中對Spring擴展接口作了非常詳細的介紹及代碼示例,對正在學習java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • 解決無法解析javax.servlet的方法

    解決無法解析javax.servlet的方法

    最近在創(chuàng)建一個servlet時,自動生成的代碼中出現(xiàn)servlet無法解析的提示,令我無法正常使用servlet里的方法,在對各個步驟進行查看后,發(fā)現(xiàn)了問題所在,需要的朋友可以參考下
    2021-05-05

最新評論