在jeeplus中假设我们的数据库中有两个表:zdrgk_bkgl和zdrgk_zdrgj,它们的字段如下: zdrgk_bkgl:id create_by create_date update_by update_date remarks del_flag bkgl_zdrxm bkgl_zdrylx bkgl_sfz bkgl_dh bkgl_zz bkgl_zzjd bkgl_zzwd bkgl_hjd bkgl_bkdj bkgl_bkyy bkgl_bkr bkgl_bkbm bkgl_bksj bkgl_cksj bkgl_ckr bkgl_ckbm bkgl_spr bkgl_spsj bkgl_spbm bkgl_spyj bkgl_bkzt bkgl_zp bkgl_bkqy bkgl_ckyy bkgl_spjg bz3 bz4 bz5 zdrgk_zdrgj:id create_by create_date update_by update_date remarks del_flag bkyj_gjid bkyj_xm bkyj_sfz bkyj_yjnr bkyj_czr bkyj_czbm bkyj_czsj bkyj_czzt bkyj_czqk bkyj_fj 在jeeplus中如何在zdrgkbkyj.xml中写一段SQL将zdrgkbkgl的bkgl_zdrxm和zdrgkzdrgj的bkyj_xm 一样时 把他显示在zdrgkbkyjlist表单中
时间: 2023-07-22 16:28:23 浏览: 55
在zdrgkbkyj.xml中,可以使用以下代码定义该SQL语句:
```
<select id="findList" parameterType="com.thinkgem.jeesite.common.persistence.Page" resultMap="BaseResultMap">
SELECT a.id, a.bkyj_gjid, a.bkyj_xm, a.bkyj_sfz, a.bkyj_yjnr, a.bkyj_czr, a.bkyj_czbm, a.bkyj_czsj, a.bkyj_czzt, a.bkyj_czqk, a.bkyj_fj,
b.bkgl_zdrxm AS bkyj_xm
FROM zdrgk_bkyj a
LEFT JOIN zdrgk_bkgl b ON b.id = a.bkyj_gjid
WHERE a.del_flag = '0'
</select>
```
在SQL语句中,通过LEFT JOIN将zdrgk_bkgl表与zdrgk_zdrgj表连接,条件是zdrgk_bkgl的id等于zdrgk_zdrgj的bkyj_gjid。在SELECT语句中,使用b.bkgl_zdrxm AS bkyj_xm将zdrgk_bkgl表中的bkgl_zdrxm字段重命名为bkyj_xm,这样就可以将两个表中的字段进行比较并显示在zdrgkbkyjlist表单中。
相关问题
在jeeplus中假设我们的数据库中有两个表:zdrgk_bkgl和zdrgk_zdrgj,它们的字段如下: zdrgk_bkgl:id create_by create_date update_by update_date remarks del_flag bkgl_zdrxm bkgl_zdrylx bkgl_sfz bkgl_dh bkgl_zz bkgl_zzjd bkgl_zzwd bkgl_hjd bkgl_bkdj bkgl_bkyy bkgl_bkr bkgl_bkbm bkgl_bksj bkgl_cksj bkgl_ckr bkgl_ckbm bkgl_spr bkgl_spsj bkgl_spbm bkgl_spyj bkgl_bkzt bkgl_zp bkgl_bkqy bkgl_ckyy bkgl_spjg bz3 bz4 bz5 zdrgk_zdrgj:id create_by create_date update_by update_date remarks del_flag zdrgj_zdrid zdrgj_xm zdrgj_sfzhm zdrgj_xsd zdrgj_sbid zdrgj_zpzp zdrgj_zpsj bz1 bz2 bz3 bz4 bz5 bkyj_yjnr bkyj_czr bkyj_czbm bkyj_czsj bkyj_czzt bkyj_czqk bkyj_fj 在jeeplus中如何在zdrgkbkyj.xml中写一段SQL将zdrgkbkgl的bkgl_zdrxm和zdrgkzdrgj的zdrgj_xm一样时 把他显示在zdrgkbkyjlist表单中
您可以在zdrgkbkyj.xml中使用SQL查询语句,使用内连接(INNER JOIN)将zdrgk_bkgl表和zdrgk_zdrgj表连接起来,然后筛选出bkgl_zdrxm和zdrgj_xm相同的记录,并将其显示在zdrgkbkyjlist表单中。
具体的SQL语句如下:
```
<select id="findList" resultMap="BaseResultMap">
SELECT bkgl.id, bkgl.bkgl_zdrxm AS bkyj_czr, zdrgj.zdrgj_xm AS bkgl_zdrxm
FROM zdrgk_bkgl bkgl
INNER JOIN zdrgk_zdrgj zdrgj ON bkgl.bkgl_zdrxm = zdrgj.zdrgj_xm
WHERE bkgl.del_flag = '0' AND zdrgj.del_flag = '0'
</select>
```
这个SQL查询语句将会以bkgl_zdrxm和zdrgj_xm作为关键字连接zdrgk_bkgl和zdrgk_zdrgj表。在查询结果中,我们将会得到bkgl.id, bkgl.bkgl_zdrxm和zdrgj.zdrgj_xm三个字段的值。其中,bkgl.bkgl_zdrxm字段将会被作为操作人(bkyj_czr)显示在zdrgkbkyjlist表单中,而zdrgj.zdrgj_xm字段将会被作为bkgl_zdrxm显示在zdrgkbkyjlist表单中。
在jeeplus中<insert id="insertZdrykBkyjFromZdrgk"> INSERT INTO zdrgk_bkyj (bkyj_xm,bkyj_sfz) SELECT k.bkgl_zdrxm,k.bkgl_sfz FROM zdrgk_bkgl k, zdrgk_zdrgj j where k.bkgl_zdrxm = j.zdrgj_xm and j.zdrgj_sbid like concat('%', k.bkgl_bkqy, '%') </insert>已经在ZdrgkBkyjMapper.xml写好了 在jeeplus中如何在前端列表中进入时调用此方法
在 jeeplus 中,可以使用 MyBatis-Plus 提供的 ServiceImpl 类来操作数据库,具体步骤如下:
1. 创建一个 Service 类,继承 Mybatis-Plus 提供的 ServiceImpl 类,例如 ZdrgkBkyjService。
2. 在 Service 中定义一个方法,例如 insertZdrykBkyjFromZdrgk(),该方法调用 Mybatis-Plus 提供的 baseMapper 对象执行 SQL 语句。
3. 在 Controller 中注入 Service 对象,并在列表查询的方法中调用 insertZdrykBkyjFromZdrgk() 方法。
例如:
```java
// ZdrgkBkyjService.java
@Service
public class ZdrgkBkyjService extends ServiceImpl<ZdrgkBkyjMapper, ZdrgkBkyj> {
public void insertZdrykBkyjFromZdrgk() {
baseMapper.insertZdrykBkyjFromZdrgk();
}
}
// ZdrgkBkyjController.java
@Controller
@RequestMapping("/zdrgk/bkyj")
public class ZdrgkBkyjController extends BaseController {
@Autowired
private ZdrgkBkyjService zdrgkBkyjService;
@RequestMapping(value = {"", "list"})
public String list(ZdrgkBkyj zdrgkBkyj, HttpServletRequest request, HttpServletResponse response, Model model) {
// 调用 insertZdrykBkyjFromZdrgk() 方法
zdrgkBkyjService.insertZdrykBkyjFromZdrgk();
// 其他代码
// ......
return "modules/zdrgk/bkyjList";
}
}
```
这样,在访问列表页面时,会自动调用 insertZdrykBkyjFromZdrgk() 方法执行 SQL 语句。