开发规范&约束
为了保证代码的规范和可阅读性,请自觉遵守以下规范。
service
接口调用Mybatis
接口,不能使用泛型DataMap
,必输使用具体的参数。- 功能号调用
Mybatis
接口
业务接口开发
业务接口接口(功能号)在
wueasy-bus-demo
工程中。接口实现类开发完成后,必须配置功能号接口才可以暴露服务。功能号分为三种模式:(其中第一种和第二种基本可以满足所有场景,特别复杂的场景才会使用第三种)
- 调用
mapper
实现类(推荐) - 调用
service
实现类(推荐) - 继承
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>
新增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>