2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Cum MyBatis Plus in operationibus datorum utendo, interdum notitias ex pluribus tabulis obtinere debemus. Hic articulus introducet quomodo interrogationem iungendam reliquit ad efficiendum in MyBatis Plus. Duas tabulas in exemplum sumemus, una est tabula capitis department (system_dept_leader
) et alia est mensa usoris (system_user
) et demonstrat detailed informationem department ducis per iungere sinisteriorem, inclusa agnomine et numero usoris.
Ponantur duae sequentes tabulae datae;
system_dept_leader
)Nomen agri | type | describere |
---|---|---|
id | Long | prima clavis |
dept_id | Long | Department ID |
user_id | Long | Sed rutrum sapien id |
is_primary | Integer | Gravis est? |
system_user
)Nomen agri | type | describere |
---|---|---|
id | Long | prima clavis |
cognomen | String | Quisque nomen tuum |
operarius_code | String | Job numerus |
Sinistram interrogationem iungemus per gradus sequentes deducemus:
In primis opus est ut proventum interrogationis definiamus genus ut proventus investigationis reponendi.Hic definimus aDeptLeaderDORespVO
Class, quam turpisDeptLeaderDOBaseVO
, et continet in agris numerum et cognomen usoris.
- @Data
- @EqualsAndHashCode(callSuper = true)
- @ToString(callSuper = true)
- public class DeptLeaderDORespVO extends DeptLeaderDOBaseVO {
-
- private Long id;
-
- @NotNull(message = "Department不能为空")
- private Long deptId;
-
- @NotNull(message = "User不能为空")
- private Long userId;
-
- @NotNull(message = "Is Primary不能为空")
- private Integer isPrimary;
-
- private String nickname;
- private String workerCode;
- }
Deinceps scribimus provisorem SQL genus pro SQL queries dynamice generantem.usus est hicSelectProvider
Annotationes ad SQL denotare consuetudinem.
- public class DeptLeaderSqlProvider {
-
- public String selectDeptLeaderWithUserDetails(Map<String, Object> params) {
- Long deptId = (Long) params.get("deptId");
- Long userId = (Long) params.get("userId");
- Integer isPrimary = (Integer) params.get("isPrimary");
-
- StringBuilder sql = new StringBuilder();
- sql.append("SELECT dl.*, su.nickname, su.worker_code AS workerCode ");
- sql.append("FROM system_dept_leader dl ");
- sql.append("LEFT JOIN system_user su ON dl.user_id = su.id ");
- sql.append("WHERE 1=1 ");
- if (deptId != null) {
- sql.append("AND dl.dept_id = #{deptId} ");
- }
- if (userId != null) {
- sql.append("AND dl.user_id = #{userId} ");
- }
- if (isPrimary != null) {
- sql.append("AND dl.is_primary = #{isPrimary} ");
- }
- sql.append("ORDER BY dl.id DESC");
- return sql.toString();
- }
- }
Denique definire modum interrogationis in Mapper instrumenti et usu SelectProvider
SQL Provisor dat speciem annotationis.
- @Mapper
- public interface DeptLeaderMapper extends BaseMapperX<DeptLeaderDO> {
-
- @SelectProvider(type = DeptLeaderSqlProvider.class, method = "selectDeptLeaderWithUserDetails")
- List<DeptLeaderDORespVO> selectDeptLeaderWithUserDetails(@Param("deptId") Long deptId,
- @Param("userId") Long userId,
- @Param("isPrimary") Integer isPrimary);
- }
Modus quaesitus appellatur in tabulato ministerio et eventus qui ante finem vel ulteriorem processum redduntur.
- @Service
- public class DeptLeaderService {
-
- @Autowired
- private DeptLeaderMapper deptLeaderMapper;
-
- public List<DeptLeaderDORespVO> getDeptLeaders(Long deptId, Long userId, Integer isPrimary) {
- return deptLeaderMapper.selectDeptLeaderWithUserDetails(deptId, userId, isPrimary);
- }
- }
Per gradus superiores modum utendi sinistro adiuncto ad interrogationem pervestigandae methodum pervestigandae informationes ducum departmentarum MyBatis Plus. Haec methodus dynamice potest generare SQL queries subnixas condiciones advenientis habere informationes de ducibus department et eorum consociatis utentibus. Haec methodus valde utilis est cum interrogatione data per plures tabulas confici debet, ut flexibilitatem et efficientiam notitiarum quaesitum sit.
Spero hunc articulum melius adiuvare vos posse intelligcre et uti MyBatis Plus in quaestionibus complexibus. Si quas quaestiones vel ulteriores necessitates habes, gratus es discutere et communicare.