1、对象转map改用org.apache.dubbo(阿里开发)
2、实现用户管理UserCtrl,及其分页查询数据功能
| | |
| | | import com.dy.pipIrrGlobal.pojoBa.BaBlock; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaPrivilege; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | package com.dy.pipIrrGlobal.daoBa; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaBlock; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaUser; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Mapper |
| | | public interface BaUserMapper extends BaseMapper<BaUser> { |
| | |
| | | BaUser login(@Param("phone") String phone, @Param("password") String password) ; |
| | | |
| | | |
| | | /** |
| | | * 查询总数 |
| | | * @param params 查询条件 |
| | | * @return 总数 |
| | | */ |
| | | Long selectTotal(Map<?, ?> params) ; |
| | | |
| | | /** |
| | | * 分页查询一些 |
| | | * @param params 查询条件 |
| | | * @return 实体集合 |
| | | */ |
| | | List<BaUser> selectSome(Map<?, ?> params) ; |
| | | |
| | | |
| | | // |
| | | // /** |
| | | // * 插入一条记录 |
| | |
| | | */ |
| | | public Deleted deleted; |
| | | |
| | | |
| | | /** |
| | | * 用户所属角色 |
| | | */ |
| | | @TableField(exist = false) |
| | | public List<?> roleList ; |
| | | |
| | | /** |
| | | * 用户所拥有的权限 |
| | | */ |
| | |
| | | from ba_block |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </select> |
| | | <select id="selectTotal" parameterType="java.lang.Long" resultType="java.lang.Long"> |
| | | <!--@mbg.generated--> |
| | | <select id="selectTotal" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from ba_block |
| | | <trim prefix="where "> |
| | | <if test="name != null"> |
| | | name like '%#{name,jdbcType=VARCHAR}%' and |
| | | </if> |
| | | <if test="header != null"> |
| | | header = '#{header,jdbcType=VARCHAR}' and |
| | | </if> |
| | | <if test="phone != null"> |
| | | phone = '#{phone,jdbcType=VARCHAR}' and |
| | | </if> |
| | | <if test="area != null"> |
| | | area = #{area,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | <trim prefix="where "> |
| | | <if test="name != null"> |
| | | name like '%#{name,jdbcType=VARCHAR}%' and |
| | | </if> |
| | | <if test="header != null"> |
| | | header = '#{header,jdbcType=VARCHAR}' and |
| | | </if> |
| | | <if test="phone != null"> |
| | | phone = '#{phone,jdbcType=VARCHAR}' and |
| | | </if> |
| | | <if test="area != null"> |
| | | area = #{area,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | <select id="selectSome" parameterType="java.util.Map" resultMap="BaseResultMap"> |
| | | <!--@mbg.generated--> |
| | |
| | | area = #{area,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | order by id DESC |
| | | <trim prefix="limit " > |
| | | <if test="queryStart != null and queryCount != null"> |
| | | #{queryStart}, #{queryCount} |
| | |
| | | <mapper namespace="com.dy.pipIrrGlobal.daoBa.BaRoleMapper"> |
| | | |
| | | <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaRole"> |
| | | <!--@mbg.generated--> |
| | | <!--@Table ba_role--> |
| | | <result column="id" jdbcType="BIGINT" property="id" /> |
| | | <result column="name" jdbcType="VARCHAR" property="name" /> |
| | | <result property="deleted" column="deleted" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler" javaType="com.dy.common.mybatis.envm.Deleted"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaRole"> |
| | | <result column="id" jdbcType="BIGINT" property="id" /> |
| | | <result column="name" jdbcType="VARCHAR" property="name" /> |
| | | </resultMap> |
| | | |
| | | <sql id="Base_Column_List"> |
| | | <!--@mbg.generated--> |
| | | id, name, deleted |
| | | </sql> |
| | | |
| | | <sql id="part_Column_List"> |
| | | id, name, deleted |
| | | </sql> |
| | | |
| | |
| | | from ba_role |
| | | </select> |
| | | |
| | | <select id="selectByUserId" resultMap="BaseResultMap"> |
| | | select <include refid="Base_Column_List" /> |
| | | <select id="selectByUserId" resultMap="partResultMap"> |
| | | select <include refid="part_Column_List" /> |
| | | from ba_role r |
| | | inner join ba_user_role ur on r.id = ur.roleId |
| | | where r.deleted != 1 |
| | |
| | | </select> |
| | | |
| | | <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoBa.BaRole"> |
| | | <!--@mbg.generated--> |
| | | insert into ba_role (id, `name`, deleted |
| | | ) |
| | | values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{deleted, typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT} |
| | | insert into ba_role (id, `name`, deleted) |
| | | values (#{id,jdbcType=BIGINT}, |
| | | #{name,jdbcType=VARCHAR}, |
| | | #{deleted, typeHandler=com.dy.common.mybatis.envm.EnumCodeTypeHandler, jdbcType=TINYINT} |
| | | ) |
| | | </insert> |
| | | |
| | | <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaRole"> |
| | | <!--@mbg.generated--> |
| | | insert into ba_role |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | |
| | | <result property="deleted" column="deleted" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler" javaType="com.dy.common.mybatis.envm.Deleted"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="login" type="com.dy.pipIrrGlobal.pojoBa.BaUser"> |
| | | <resultMap id="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser"> |
| | | <!--@mbg.generated--> |
| | | <!--@Table ba_user--> |
| | | <id property="id" column="id" /> |
| | | <result property="name" column="name"/> |
| | | <result property="phone" column="phone"/> |
| | | <result property="orgTag" column="orgTag"/> |
| | | <result property="supperAdmin" column="supperAdmin"/> |
| | | <result property="disabled" column="disabled" typeHandler="com.dy.common.mybatis.envm.EnumCodeTypeHandler" javaType="com.dy.common.mybatis.envm.Disabled"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="loginResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser"> |
| | | <id property="id" column="id" /> |
| | | <result property="name" column="name"/> |
| | | <result property="phone" column="phone"/> |
| | |
| | | <result property="supperAdmin" column="supperAdmin"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="someResultMap" extends="partResultMap" type="com.dy.pipIrrGlobal.pojoBa.BaUser"> |
| | | <collection property="roleList" fetchType="lazy" column="{userId=id}" select="com.dy.pipIrrGlobal.daoBa.BaRoleMapper.selectByUserId" /> |
| | | </resultMap> |
| | | |
| | | <sql id="Base_Column_List"> |
| | | <!--@mbg.generated--> |
| | | id, name, phone, password, orgTag, supperAdmin, disabled, deleted |
| | | </sql> |
| | | |
| | | <sql id="part_Column_List"> |
| | | id, name, phone, orgTag, disabled |
| | | </sql> |
| | | |
| | | <sql id="Login_Column_List"> |
| | | <!--@mbg.generated--> |
| | | id, name, phone, orgTag, supperAdmin |
| | | </sql> |
| | | |
| | | <select id="login" resultMap="login" > |
| | | <select id="login" resultMap="loginResultMap" > |
| | | select |
| | | <include refid="Login_Column_List" /> |
| | | from ba_user |
| | | where disabled=0 and deleted=0 and phone=#{phone} and password=#{password} |
| | | where disabled!=1 and deleted!=1 and phone=#{phone} and password=#{password} |
| | | </select> |
| | | |
| | | <select id="selectTotal" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from ba_user where supperAdmin!=1 and disabled!=1 and deleted!=1 |
| | | <trim prefix="and" suffixOverrides="and"> |
| | | <if test="name != null"> |
| | | name like concat('%', #{name}, '%') and |
| | | </if> |
| | | <if test="phone != null"> |
| | | phone = '#{phone,jdbcType=VARCHAR}' |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | <select id="selectSome" parameterType="java.util.Map" resultMap="someResultMap"> |
| | | select |
| | | <include refid="part_Column_List" /> |
| | | from ba_user where supperAdmin!=1 and disabled!=1 and deleted!=1 |
| | | <trim prefix="and" suffixOverrides="and"> |
| | | <if test="name != null"> |
| | | name like concat('%', #{name}, '%') and |
| | | </if> |
| | | <if test="phone != null"> |
| | | phone = '#{phone,jdbcType=VARCHAR}' |
| | | </if> |
| | | </trim> |
| | | order by id DESC |
| | | <trim prefix="limit " > |
| | | <if test="queryStart != null and queryCount != null"> |
| | | #{queryStart}, #{queryCount} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | <!-- |
| | | <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoBa.BaUser"> |
| | | <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long" id="selectKey"> |
| | |
| | | package com.dy.pipIrrBase.block; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.pipIrrGlobal.daoBa.BaBlockMapper; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaBlock; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.dubbo.common.utils.PojoUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.apache.commons.beanutils.BeanUtils ; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.List; |
| | | |
| | |
| | | * @param vo 查询条件值对象 |
| | | * @return 片区实体 |
| | | */ |
| | | public QueryResultVo<List<BaBlock>> selectSome(QueryVo vo) throws Exception{ |
| | | Map<String, Object> params = new HashMap<>(); |
| | | BeanUtils.populate(vo, params); |
| | | @SuppressWarnings("unchecked") |
| | | public QueryResultVo<List<BaBlock>> selectSome(QueryVo vo){ |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; |
| | | Long itemTotal = this.dao.selectTotal(params) ; |
| | | |
| | | QueryResultVo<List<BaBlock>> rsVo = new QueryResultVo<>() ; |
| | |
| | | rsVo.pageCurr = vo.pageCurr ; |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | |
| | | List<BaBlock> list = this.dao.selectSome(params) ; |
| | | |
| | | return (QueryResultVo.<List<BaBlock>>builder().content(list)).build() ; |
| | | return (QueryResultVo.<List<BaBlock>>builder().content(this.dao.selectSome(params))).build() ; |
| | | } |
| | | |
| | | /** |
New file |
| | |
| | | package com.dy.pipIrrBase.user; |
| | | |
| | | import com.dy.common.webUtil.BaseResponse; |
| | | import com.dy.common.webUtil.BaseResponseUtils; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.common.webUtil.ResultCodeMsg; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaUser; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.Parameter; |
| | | import io.swagger.v3.oas.annotations.media.Content; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import io.swagger.v3.oas.annotations.responses.ApiResponse; |
| | | import io.swagger.v3.oas.annotations.responses.ApiResponses; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Slf4j |
| | | @Tag(name = "用户管理", description = "用户增删改查等操作") |
| | | @RestController |
| | | @RequestMapping(path="user") |
| | | @SuppressWarnings("unchecked")//java版本越高,对泛型约束越严,所以配置SuppressWarnings("unchecked") |
| | | public class UserCtrl { |
| | | |
| | | private UserSv sv ; |
| | | |
| | | @Autowired |
| | | private void setSv(UserSv sv){ |
| | | this.sv = sv ; |
| | | } |
| | | |
| | | /** |
| | | * 客户端请求得到所有用户数据 |
| | | * @return 所有用户数据 |
| | | */ |
| | | @Operation(summary = "获得一页用户", description = "返回一页用户数据") |
| | | @ApiResponses(value = { |
| | | @ApiResponse( |
| | | responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | description = "返回一页用户数据(BaseResponse.content:QueryResultVo[{}])", |
| | | content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | schema = @Schema(implementation = BaUser.class))} |
| | | ) |
| | | }) |
| | | @PostMapping(path = "some") |
| | | public BaseResponse<QueryResultVo<List<BaUser>>> some(QueryVo vo){ |
| | | try { |
| | | QueryResultVo<List<BaUser>> res = this.sv.selectSome(vo) ; |
| | | return BaseResponseUtils.buildSuccess(res); |
| | | } catch (Exception e) { |
| | | log.error("查询用户异常", e); |
| | | return BaseResponseUtils.buildException(e.getMessage()) ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 得到一个用户数据 |
| | | * @return 一个用户数据 |
| | | */ |
| | | @Operation(summary = "一个用户", description = "得到一个用户数据") |
| | | @ApiResponses(value = { |
| | | @ApiResponse( |
| | | responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, |
| | | description = "返回一个用户数据(BaseResponse.content:{})", |
| | | content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, |
| | | schema = @Schema(implementation = BaUser.class))} |
| | | ) |
| | | }) |
| | | @GetMapping(path = "one") |
| | | public BaseResponse<BaUser> one(@Parameter(description = "实体id", required = true) Long id){ |
| | | return BaseResponseUtils.buildSuccess(this.sv.selectById(id)); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.pipIrrGlobal.daoBa.BaUserMapper; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaBlock; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaUser; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import org.apache.dubbo.common.utils.PojoUtils ; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | */ |
| | | public BaUser selectById(Long id){ |
| | | return this.dao.selectById(id) ; |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param vo 查询条件值对象 |
| | | * @return 片区实体 |
| | | */ |
| | | @SuppressWarnings("unchecked") |
| | | public QueryResultVo<List<BaUser>> selectSome(QueryVo vo){ |
| | | // MPJLambdaWrapper<BaUser> wrapper = new MPJLambdaWrapper<BaUser>() |
| | | // .selectAll(BaUser.class)//查询user表全部字段 |
| | | // .select(BaRole::getId, BaRole::getName) |
| | | // .leftJoin(BaUserRole.class, BaUserRole::getUserId, BaUser::getId) |
| | | // .leftJoin(BaRole.class, BaRole::getId, BaUserRole::getRoleId); |
| | | // |
| | | // wrapper.like(StringUtils.isNotEmpty(vo.name), "t.name", vo.name) ; |
| | | // wrapper.eq(StringUtils.isNotEmpty(vo.name), "t.phone", vo.phone) ; |
| | | // wrapper.eq(!Objects.isNull(vo.roleId), "t1.id", vo.roleId) ; |
| | | // |
| | | // Page<BaUser> page = new Page<>(vo.pageCurr, vo.pageSize) ; |
| | | // |
| | | // IPage<BaUser> iPage = this.dao.selectJoinPage(page, BaUser.class, wrapper) ; |
| | | // |
| | | // List<BaUser> list = iPage.getRecords() ; |
| | | // |
| | | // return (QueryResultVo.<List<BaUser>>builder().content(list)).build() ; |
| | | return null ; |
| | | Map<String, Object> params = (Map<String, Object>)PojoUtils.generalize(vo) ; |
| | | Long itemTotal = this.dao.selectTotal(params) ; |
| | | |
| | | QueryResultVo<List<BaBlock>> rsVo = new QueryResultVo<>() ; |
| | | rsVo.pageSize = vo.pageSize ; |
| | | rsVo.pageCurr = vo.pageCurr ; |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | |
| | | return (QueryResultVo.<List<BaUser>>builder().content(this.dao.selectSome(params))).build() ; |
| | | } |
| | | |
| | | } |
| | |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-beans:6.0.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:6.0.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-aop:6.0.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-context:6.0.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-expression:6.0.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:3.1.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:10.1.12" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: org.mapstruct:mapstruct-processor:1.5.5.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.8.21" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.jdom:jdom2:2.0.6.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.4" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.dubbo:dubbo:3.2.7" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-context:6.0.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-haproxy:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-http:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-http2:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-memcache:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-mqtt:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-redis:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-smtp:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-socks:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-stomp:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-xml:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-native-unix-common:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-handler-proxy:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-handler-ssl-ocsp:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-rxtx:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-sctp:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-udt:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-classes-epoll:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-classes-kqueue:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-resolver-dns-classes-macos:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:linux-x86_64:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:linux-aarch_64:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-kqueue:osx-x86_64:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-kqueue:osx-aarch_64:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-resolver-dns-native-macos:osx-x86_64:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-resolver-dns-native-macos:osx-aarch_64:4.1.94.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba:hessian-lite:3.2.13" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:3.1.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:3.1.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:3.1.3" level="project" /> |
| | |
| | | <artifactId>jdom2</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- bean转map --> |
| | | <!-- bean和map互转换 --> |
| | | <dependency> |
| | | <groupId>commons-beanutils</groupId> |
| | | <artifactId>commons-beanutils</artifactId> |
| | | <version>1.9.4</version> |
| | | <groupId>org.apache.dubbo</groupId> |
| | | <artifactId>dubbo</artifactId> |
| | | <version>3.2.7</version> |
| | | </dependency> |
| | | |
| | | <!-- 测试 --> |
| | |
| | | <scope>import</scope> |
| | | </dependency> |
| | | |
| | | <!-- bean和map互转换 --> |
| | | <dependency> |
| | | <groupId>org.apache.dubbo</groupId> |
| | | <artifactId>dubbo</artifactId> |
| | | <version>3.2.7</version> |
| | | <type>pom</type> |
| | | <scope>import</scope> |
| | | </dependency> |
| | | |
| | | <!-- Hutool是一个小而全的Java工具类库(https://github.com/dromara/hutool) --> |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |