Java?MyBatis傳出參數(shù)resultType和resultMap解讀
MyBatis輸出參數(shù) resultType 和 resultMap
我們需要在 mybatis-config.xml 文件中加如下配置
<!--定義別名--> ? ? <typeAliases> ? ? ? ? <!-- ? ? ? ? ? ? 第一種方式: ? ? ? ? ? ? 指定一個(gè)類(lèi)型一個(gè)自定義別名 ? ? ? ? ? ? type:自定義類(lèi)型的全限定名稱(chēng) ? ? ? ? ? ? alias:別名 ? ? ? ? --> ? ? ? ? <typeAlias type="com.mycompany.domain.User" alias="user" /> ? ? ? ? <typeAlias type="com.mycompany.vo.ViewUser" alias="vUser" /> ? ? ? ? ? <!-- ? ? ? ? ? 第二種方式 ? ? ? ? ? <package> name是包名, 這個(gè)包中的所有類(lèi),類(lèi)名就是別名(類(lèi)名不區(qū)分大小寫(xiě)) ? ? ? ? --> ? ? ? ? <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ù)庫(kù)的配置信息,SQL映射文件的位置 ? ? 1、約束文件 ? ? ? ? <!DOCTYPE configuration ? ? ? ? ? ? PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ? ? ? ? ? ? "http://mybatis.org/dtd/mybatis-3-config.dtd"> ? ? ? ? mybatis-3-config.dtd:約束文件名稱(chēng) ? ? 2、configuration:根標(biāo)簽 --> <configuration> ? ? ? <!-- settings:mybatis全局行為 --> ? ? <settings> ? ? ? ? <!-- 設(shè)置mybatis輸出日志 --> ? ? ? ? <setting name="logImpl" value="STDOUT_LOGGING" /> ? ? </settings> ? ? ? <!--定義別名--> ? ? <typeAliases> ? ? ? ? <!-- ? ? ? ? ? ? 第一種方式: ? ? ? ? ? ? 指定一個(gè)類(lèi)型一個(gè)自定義別名 ? ? ? ? ? ? type:自定義類(lèi)型的全限定名稱(chēng) ? ? ? ? ? ? alias:別名 ? ? ? ? --> ? ? ? ? <typeAlias type="com.mycompany.domain.User" alias="user" /> ? ? ? ? <typeAlias type="com.mycompany.vo.ViewUser" alias="vUser" /> ? ? ? ? ? <!-- ? ? ? ? ? 第二種方式 ? ? ? ? ? <package> name是包名, 這個(gè)包中的所有類(lèi),類(lèi)名就是別名(類(lèi)名不區(qū)分大小寫(xiě)) ? ? ? ? --> ? ? ? ? <package name="com.mycompany.domain" /> ? ? ? ? <package name="com.mycompany.vo" /> ? ? ? </typeAliases> ? ? ? <!-- ? ? ? ? 環(huán)境配置:數(shù)據(jù)庫(kù)的連接信息 ? ? ? ? ? ? default:必須和某個(gè)environment的id值一樣 ? ? ? ? ? ? 告訴mybatis使用哪個(gè)數(shù)據(jù)庫(kù)的連接信息(訪問(wèn)哪個(gè)數(shù)據(jù)庫(kù)) ? ? --> ? ? <environments default="development"> ? ? ? ? ? <!-- ? ? ? ? ? ? environment:一個(gè)數(shù)據(jù)庫(kù)的配置,環(huán)境 ? ? ? ? ? ? id:一個(gè)唯一值(可自定義,表示環(huán)境的名稱(chēng)) ? ? ? ? ?--> ? ? ? ? <environment id="development"> ? ? ? ? ? ? <!-- ? ? ? ? ? ? ? ? transactionManaer:mybatis的事務(wù)類(lèi)型 ? ? ? ? ? ? ? ? ? ? type:JDBC(表示使用JDBC中的Connection對(duì)象的commit,rollback做事務(wù)處理) ? ? ? ? ? ? --> ? ? ? ? ? ? <transactionManager type="JDBC"/> ? ? ? ? ? ? <!-- ? ? ? ? ? ? ? ? dataSource:表示數(shù)據(jù)源,連接數(shù)據(jù)庫(kù)的 ? ? ? ? ? ? ? ? ? ? type:表述數(shù)據(jù)源的類(lèi)型,POOLED表示使用連接池 ? ? ? ? ? ? --> ? ? ? ? ? ? <dataSource type="POOLED"> ? ? ? ? ? ? ? ? <!-- ? ? ? ? ? ? ? ? ? ?driver, user, username, password 是固定的,不能自定義。 ? ? ? ? ? ? ? ? --> ? ? ? ? ? ? ? ? <!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi)名 --> ? ? ? ? ? ? ? ? <property name="driver" value="com.mysql.jdbc.Driver"/> ? ? ? ? ? ? ? ? <!-- 連接數(shù)據(jù)庫(kù)的URL字符串 --> ? ? ? ? ? ? ? ? <property name="url" value="jdbc:mysql://localhost:3306/ssm"/> ? ? ? ? ? ? ? ? <!-- 訪問(wèn)數(shù)據(jù)庫(kù)的用戶名 --> ? ? ? ? ? ? ? ? <property name="username" value="root"/> ? ? ? ? ? ? ? ? <!-- 訪問(wèn)數(shù)據(jù)庫(kù)的密碼 --> ? ? ? ? ? ? ? ? <property name="password" value="123456"/> ? ? ? ? ? ? </dataSource> ? ? ? ? </environment> ? ? ? ? ? <!--表示線上的數(shù)據(jù)庫(kù),是項(xiàng)目真實(shí)使用的庫(kù)--> ? ? ? ? <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> ? ? ? ? <!-- ? ? ? ? ? ? 一個(gè)mapper標(biāo)簽指定一個(gè)文件的位置 ? ? ? ? ? ? ? ? 從類(lèi)路徑開(kāi)始的路徑信息(target/classes)類(lèi)路徑 ? ? ? ? --> ? ? ? ? <mapper resource="com/mycompany/dao/UserDao.xml"/> ? ? </mappers> </configuration>
一、resultType
執(zhí)行 sql 得到 ResultSet 轉(zhuǎn)換的類(lèi)型,使用類(lèi)型的完全限定名或別名
1、簡(jiǎn)單類(lèi)型
UserDao接口文件
public User selectUserByUserId(@Param("userId") Integer id); ? List<User> selectMultiParam(@Param("username") String userName, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @Param("userage") Integer age);
UserDao.xml文件
<!-- ? ? resultType: ? ? ? ? ? ? 表示結(jié)果類(lèi)型,SQL語(yǔ)句執(zhí)行后得到ResultSet結(jié)果集,遍歷這個(gè)結(jié)果集得到的Java對(duì)象類(lèi)型 ? ? ? ? ? ? 值寫(xiě)Java對(duì)象的全限定名稱(chēng) ? ? 1、resultType="vUser" ? ? ? ? mybatis-config.xml文件中第一種方式 ? ? ? ? 指定一個(gè)類(lèi)型一個(gè)自定義別名 ? ? ? ? ? ? type:自定義類(lèi)型的全限定名稱(chēng) ? ? ? ? ? ? alias:別名 ? ? 2、resultType="ViewUser" ? ? ? ? mybatis-config.xml文件中第二種方式: ? ? ? ? ? <package> name是包名, 這個(gè)包中的所有類(lèi),類(lèi)名就是別名(類(lèi)名不區(qū)分大小寫(xiě)) ? ? 注: ? ? ? ? resultType="User" 如果一個(gè)項(xiàng)目中有多個(gè)User類(lèi)文件,會(huì)報(bào)錯(cuò) ? ? ? ? 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> ? ? ? <!--多個(gè)參數(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測(cè)試類(lèi)
@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類(lèi)型
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測(cè)試類(lèi)
@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、對(duì)象類(lèi)型
UserDao接口文件
ViewUser selectUserReturnViewUser(@Param("userId") Integer id);
UserDao.xml文件
<!-- ? ? ? ? 1、resultType="vUser" ? ? ? ? mybatis-config.xml文件中第一種方式 ? ? ? ? 指定一個(gè)類(lèi)型一個(gè)自定義別名 ? ? ? ? ? ? type:自定義類(lèi)型的全限定名稱(chēng) ? ? ? ? ? ? alias:別名 ? ? ? ? 2、resultType="ViewUser" ? ? ? ? mybatis-config.xml文件中第二種方式: ? ? ? ? ? <package> name是包名, 這個(gè)包中的所有類(lèi),類(lèi)名就是別名(類(lèi)名不區(qū)分大小寫(xiě)) ? ? --> ? ? <select id="selectUserReturnViewUser" resultType="ViewUser"> ? ? ? ? select user_id,user_name ? ? ? ? from user ? ? ? ? where user_id = #{userId} ? ? </select>
TestMyBatis測(cè)試類(lèi)
@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)如果返回的是集合,那應(yīng)該設(shè)置為集合包含的類(lèi)型,而不是集合本身
(2)resultType 和 resultMap,不能同時(shí)使用
(3)resultType="User" 如果一個(gè)項(xiàng)目中有多個(gè)User類(lèi)文件,會(huì)報(bào)錯(cuò)
Could not resolve type alias 'User'. Cause: java.lang.
ClassNotFoundException: Cannot find class: User
此時(shí)最好指定全限定名稱(chēng)
二、resultMap
resultMap 可以自定義 sql 的結(jié)果和 java 對(duì)象屬性的映射關(guān)系;更靈活的把列值賦值給指定屬性
常用在列名和 java 對(duì)象屬性名不一樣的情況
使用方式:
(1)先定義 resultMap,指定列名和屬性的對(duì)應(yīng)關(guān)系
(2)在<select>中把 resultType 替換為 resultMap
列名和Java對(duì)象屬性名不一樣時(shí),有兩種處理方式
(1)使用resultMap映射
(2)resultType的默認(rèn)原則是 同名的列值賦值給同名的屬性, 使用列別名(java對(duì)象的屬性名)
如下Java類(lèi)屬性
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標(biāo)簽,使用resultMap來(lái)引用定義 ? ? ? ? id:自定義名稱(chēng),表示定義的這個(gè)resultMap ? ? ? ? type:java類(lèi)型的全限定名稱(chēng) ? ? --> ? ? <resultMap id="userMap" type="com.mycompany.domain.User"> ? ? ? ? <!--列名和java屬性的關(guān)系 ? ? ? ? ? ? 注解列,使用id標(biāo)簽 ? ? ? ? ? ? column :列名(數(shù)據(jù)庫(kù)表字段列名) ? ? ? ? ? ? property:java類(lèi)型的屬性名 ? ? ? ? --> ? ? ? ? <!-- 主鍵列使用 id 標(biāo)簽--> ? ? ? ? <id column="user_id" property="userId" /> ? ? ? ? <!-- 非主鍵列使用 result 標(biāo)簽--> ? ? ? ? <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的默認(rèn)原則是 同名的列值賦值給同名的屬性, 使用列別名(java對(duì)象的屬性名) ? ? --> ? ? <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測(cè)試類(lèi)
@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
模糊查詢(xún)的實(shí)現(xiàn)有兩種方式, 一是 java 代碼中給查詢(xún)數(shù)據(jù)加上“%” ; 二是在 mapper 文件 sql 語(yǔ)句的條件位置加上“%”
UserDao接口文件
/*第一種模糊查詢(xún), 在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測(cè)試類(lèi)
?@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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)戰(zhàn)項(xiàng)目 醫(yī)院預(yù)約掛號(hào)系統(tǒng)
本文是一個(gè)Java語(yǔ)言編寫(xiě)的實(shí)戰(zhàn)項(xiàng)目,是一個(gè)醫(yī)院預(yù)約掛號(hào)系統(tǒng),主要用到了jdbc+jsp+mysql+ajax等技術(shù),技術(shù)含量比較高,感興趣的童鞋跟著小編往下看吧2021-09-09SpringCloud輪詢(xún)拉取注冊(cè)表與服務(wù)發(fā)現(xiàn)流程詳解
這篇文章主要介紹了SpringCloud輪詢(xún)拉取注冊(cè)表與服務(wù)發(fā)現(xiàn),現(xiàn)在很多創(chuàng)業(yè)公司都開(kāi)始往springcloud靠了,可能是由于文檔和組件比較豐富的原因吧,畢竟是一款目前來(lái)說(shuō)比較完善的微服務(wù)架構(gòu)2022-11-11NoHttpResponseException問(wèn)題排查解決記錄分析
這篇文章主要為大家介紹了NoHttpResponseException問(wèn)題排查解決記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08DolphinScheduler容錯(cuò)源碼分析之Worker
這篇文章主要為大家介紹了DolphinScheduler容錯(cuò)源碼分析之Worker,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Java重寫(xiě)equals及hashcode方法流程解析
這篇文章主要介紹了Java重寫(xiě)equals及hashcode方法流程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04利用idea快速搭建一個(gè)spring-cloud(圖文)
本文主要介紹了idea快速搭建一個(gè)spring-cloud,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07