jeecg sql增强代码
时间: 2023-09-16 21:07:31 浏览: 56
Jeecg是一个基于代码生成器的开发框架,可以自动生成基础的增删改查功能代码,但是在实际开发中,可能会遇到一些需要自定义SQL的情况,这时可以使用Jeecg提供的SQL增强功能来实现。
Jeecg提供的SQL增强功能包括三个方面:
1. 查询条件增强:可以通过自定义查询条件来实现复杂的查询逻辑。
2. 查询结果增强:可以通过自定义查询结果字段来实现结果数据的转换或计算。
3. 更新SQL增强:可以通过自定义更新SQL来实现复杂的更新逻辑。
下面以查询条件增强为例,介绍如何使用Jeecg的SQL增强功能。
1. 编写SQL增强代码
在需要增强的Mapper.xml文件中,添加一个select标签,其中id属性值为“queryList”,并添加一个where子标签,用于编写自定义的查询条件。
```xml
<select id="queryList" parameterType="java.util.Map" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from jeecg_demo
<where>
<![CDATA[
<if test="name!=null and name!=''">
and name like #{name}
</if>
]]>
</where>
</select>
```
在这个例子中,我们添加了一个名为“name”的查询条件,如果这个条件不为空,则会在SQL语句中添加一个“name like #{name}”的条件。
2. 注册SQL增强代码
在需要增强的Mapper接口中,添加一个@SqlSegment注解,并指定要增强的SQL语句的id属性值。
```java
@SqlSegment({
@SqlVal(segment="queryList",value=@SqlCode("queryList"))
})
List<JeecgDemo> queryList(@Param("name") String name);
```
在这个例子中,我们指定了要增强的SQL语句的id属性值为“queryList”,并将自定义的查询条件的代码放在了一个名为“queryList”的方法中。
3. 使用SQL增强代码
在业务代码中,调用Mapper接口中的方法时,可以传入自定义的查询条件,这些条件会在SQL语句中被使用。
```java
List<JeecgDemo> list = jeecgDemoMapper.queryList("test%");
```
在这个例子中,我们传入了一个名为“test%”模糊匹配的查询条件,在SQL语句中会被转换为“name like 'test%'”条件。
总的来说,Jeecg的SQL增强功能可以帮助我们在自动生成的基础增删改查功能代码的基础上,实现更加复杂的业务逻辑。