开发规范&约束

[warning] 为了保证代码的规范和可阅读性,请自觉遵守以下规范。

  • service接口调用Mybatis接口,不能使用泛型DataMap,必输使用具体的参数。
  • 功能号调用Mybatis接口

业务接口开发

业务接口接口(功能号)在wueasy-bus-demo工程中。接口实现类开发完成后,必须配置功能号接口才可以暴露服务。

[warning] 功能号分为三种模式:(其中第一种和第二种基本可以满足所有场景,特别复杂的场景才会使用第三种)

  1. 调用mapper实现类(推荐)
  2. 调用service实现类(推荐)
  3. 继承function接口,实现execute方法(不推荐)

引入服务端工具

推荐使用motan版本

<dependency>
    <groupId>com.wueasy</groupId>
    <artifactId>wueasy-bus-server-motan</artifactId>
    <version>RELEASE</version>
</dependency>

也可以使用dubbo版本

<dependency>
    <groupId>com.wueasy</groupId>
    <artifactId>wueasy-bus-server-dubbo</artifactId>
    <version>RELEASE</version>
</dependency>

或者使用sofa-rpc版本

<dependency>
    <groupId>com.wueasy</groupId>
    <artifactId>wueasy-bus-server-sofa</artifactId>
    <version>RELEASE</version>
</dependency>

新增demo

接口配置

配置调用mybatis接口。

<function id="D1002" type="m">
    <params>
        <param id="name" name="名称" required="1" maxLength="50"/>
    </params>
    <resource>com.wueasy.demo.mapper.DemoMapper.insert</resource>
    <description>新增</description>
</function>

mapper接口

public interface DemoMapper {

    int insert(DataMap paramMap);

}
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
  insert into demo (id,name)
  values (#{id,typeHandler=LongTypeHandler} , #{name})
</insert>

修改demo

接口配置

配置调用mybatis接口。

<function id="D1003" type="m">
    <params>
        <param id="id" name="id" required="1"/>
        <param id="name" name="名称" required="1" maxLength="50" />
    </params>
    <resource>com.wueasy.demo.mapper.DemoMapper.update</resource>
    <description>修改</description>
</function>

mapper接口

public interface DemoMapper {

    int update(DataMap paramMap);

}
<update id="update">
  update demo
  set
 name = #{name}
  where
 id =  #{id,typeHandler=LongTypeHandler}
</update>

查询详情demo

接口配置

配置调用mybatis接口。

<function id="D1004" type="m">
    <params>
        <param id="id" name="id" required="1"/>
    </params>
    <resource>com.wueasy.demo.mapper.DemoMapper.select</resource>
    <description>查询单个数据</description>
</function>

mapper接口

public interface DemoMapper {

    Demo select(DataMap paramMap);

}
<select id="select" resultMap="BaseResultMap">
  select id,name from demo where
 id =  #{id,typeHandler=LongTypeHandler}
</select>

删除demo

接口配置

配置调用mybatis接口。

<function id="D1005" type="m">
    <params>
        <param id="id" name="id" required="1"/>
    </params>
    <resource>com.wueasy.demo.mapper.DemoMapper.delete</resource>
    <description>删除</description>
</function>

mapper接口

public interface DemoMapper {

    int delete(DataMap paramMap);

}
<delete id="delete">
  delete from demo
  where
  id =  #{id,typeHandler=LongTypeHandler}
</delete>

分页查询demo

调用mybatis接口

接口配置

配置调用mybatis接口。

<function id="D1001" type="m" isPage="1">
    <resource>com.wueasy.demo.mapper.DemoMapper.query</resource>
    <description>查询分页</description>
</function>

mapper接口

public interface DemoMapper {

    List<Demo> query(DataMap paramMap);

}
<select id="query" resultMap="BaseResultMap">
  select id,name from demo where 1=1
    <if test="name != null and name != ''">
      and name = #{name}
    </if>
  order by id desc
</select>

调用service接口

需要在接口中,手动引入分页工具

接口配置

<function id="D1000" type="s">
    <resource>DemoService.queryPage</resource>
    <description>查询分页</description>
</function>

service接口实现

接口

public interface DemoService {

    /**
     * 查询分页
     * @author: fallsea
     * @param paramMap
     * @return
     */
    Page<Demo> queryPage(DataMap paramMap);
}

接口实现

@Service("DemoService")
public class DemoServiceImpl implements DemoService {

    @Autowired
    private DemoMapper demoMapper;

    @Override
    public Page<Demo> queryPage(DataMap paramMap) {

        //启用分页
        PageHelper.startPage(PageHelper.getPageNum(paramMap), PageHelper.getPageSize(paramMap));
        //查询数据
        List<Demo> list = demoMapper.query(paramMap);

        //获取page对象
        return PageHelper.getPage(list);
    }
}

mapper配置

public interface DemoMapper {

    List<Demo> query(DataMap paramMap);

}
<select id="query" resultMap="BaseResultMap">
  select id,name from demo where 1=1
    <if test="name != null and name != ''">
      and name = #{name}
    </if>
  order by id desc
</select>

新增前验证

新增前验证名称是否存在

接口配置

通过check验证是否存在,存在则提示。

<function id="D1002" type="m">
    <params>
        <param id="name" name="名称" required="1" maxLength="50"/>
    </params>
    <checks><!-- 检查资源信息 -->
        <check isEmpty="0">
            <msg>名称已存在</msg>
            <resource>com.wueasy.demo.mapper.DemoMapper.selectByName</resource>
        </check>
    </checks>
    <resource>com.wueasy.demo.mapper.DemoMapper.insert</resource>
    <description>新增</description>
</function>

mapper配置

public interface DemoMapper {
    /**
     * 通过名称查询是否存在
     * @author: fallsea
     * @param paramMap
     * @return
     */
    Demo selectByName(DataMap paramMap);

    /**
     * 新增
     * @author: fallsea
     * @param paramMap
     * @return
     */
    int insert(DataMap paramMap);

}
<select id="selectByName" resultMap="BaseResultMap">
  select id,name from demo where
 name = #{name}
</select>

<insert id="insert" useGeneratedKeys="true" keyProperty="id">
  insert into demo (id,name)
  values (#{id,typeHandler=LongTypeHandler}, #{name})
</insert>

修改前验证

修改前验证名称是否存在

接口配置

通过check验证是否存在,存在则提示。

<function id="D1003" type="m">
    <params>
        <param id="id" name="id" required="1"/>
        <param id="name" name="名称" required="1" maxLength="50" />
    </params>
    <checks><!-- 检查资源信息 -->
        <check primaryKey="id">
            <msg>名称已存在</msg>
            <resource>com.wueasy.demo.mapper.DemoMapper.selectByName</resource>
        </check>
    </checks>
    <resource>com.wueasy.demo.mapper.DemoMapper.update</resource>
    <description>修改</description>
</function>

mapper配置

public interface DemoMapper {
    /**
     * 通过名称查询是否存在
     * @author: fallsea
     * @param paramMap
     * @return
     */
    Demo selectByName(DataMap paramMap);

    /**
     * 修改
     * @author: fallsea
     * @param paramMap
     * @return
     */
    int update(DataMap paramMap);

}
<select id="selectByName" resultMap="BaseResultMap">
  select id,name from demo where
 name = #{name}
</select>

<update id="update">
  update demo
  set
 name = #{name}
  where
 id =  #{id,typeHandler=LongTypeHandler}
</update>
Copyright © wueasy.com 2017-2020 all right reserved,powered by Gitbook未经允许,禁止以任何形式传播 修订时间: 2019-11-18

results matching ""

    No results matching ""