From e0aa9c3c0fba10d35243b6a11cf41692f2accf52 Mon Sep 17 00:00:00 2001 From: admin <570810310@qq.com> Date: Thu, 28 Jan 2021 11:19:26 +0800 Subject: [PATCH] first --- README.md | 108 ++++++++++++++++--- doc/select.png | Bin 11952 -> 0 bytes doc/selectAll.png | Bin 10992 -> 0 bytes doc/selectAllSql.png | Bin 3876 -> 0 bytes doc/selectAs.png | Bin 12165 -> 0 bytes doc/selectAsSql.png | Bin 3374 -> 0 bytes doc/selectEq.png | Bin 17558 -> 0 bytes doc/selectEqSql.png | Bin 5591 -> 0 bytes doc/selectSql.png | Bin 3427 -> 0 bytes src/test/java/com/example/mp/MpJoinTest.java | 34 +++++- 10 files changed, 124 insertions(+), 18 deletions(-) delete mode 100644 doc/select.png delete mode 100644 doc/selectAll.png delete mode 100644 doc/selectAllSql.png delete mode 100644 doc/selectAs.png delete mode 100644 doc/selectAsSql.png delete mode 100644 doc/selectEq.png delete mode 100644 doc/selectEqSql.png delete mode 100644 doc/selectSql.png diff --git a/README.md b/README.md index c34e355..da4b288 100644 --- a/README.md +++ b/README.md @@ -24,26 +24,80 @@ #### select(UserEntity::getId) 查询指定的字段,支持可变参数 查询user表中的head_img,name和user_address表中的address,tel -![image](https://gitee.com/best_handsome/mybatis-plus-join/raw/master/doc/select.png) -对应sql - -![image](https://gitee.com/best_handsome/mybatis-plus-join/raw/master/doc/selectSql.png) + +```java +class test { + void testJoin() { + List list = userMapper.selectJoinList(new MyLambdaQueryWrapper() + .select(UserEntity::getHeadImg, UserEntity::getHeadImg) + .leftJoin(UserEntity::getId, UserAddressEntity::getUserId, + right -> right.select(UserAddressEntity::getAddress, UserAddressEntity::getTel)) + , UserDTO.class); + } +} +``` + +对应sql + +```sql +SELECT t0.head_img, t0.head_img, t1.address, t1.tel +FROM user t0 + LEFT JOIN user_address t1 ON t0.id = t1.user_id +``` #### selectAll(UserEntity.class) 查询UserEntity全部字段 查询user全部字段和user_address表中的address,tel -![image](https://gitee.com/best_handsome/mybatis-plus-join/raw/master/doc/selectAll.png) -对应sql - -![image](https://gitee.com/best_handsome/mybatis-plus-join/raw/master/doc/selectAllSql.png) + +```java +class test { + @Resource + private UserMapper userMapper; + + void testJoin() { + List list = userMapper.selectJoinList(new MyLambdaQueryWrapper() + .selectAll(UserEntity.class) + .leftJoin(UserEntity::getId, UserAddressEntity::getUserId, + right -> right.select(UserAddressEntity::getAddress, UserAddressEntity::getTel)) + , UserDTO.class); + } +} +``` + +对应sql + +```sql +SELECT t0.name, t0.sex, t0.head_img, t0.id, t1.address, t1.tel +FROM user t0 + LEFT JOIN user_address t1 ON t0.id = t1.user_id +``` #### as(UserEntity::getHeadImg,UserDTO::getUserHeadImg) 查询字段head_img as userHeadImg -![image](https://gitee.com/best_handsome/mybatis-plus-join/raw/master/doc/selectAs.png) -对应sql - -![image](https://gitee.com/best_handsome/mybatis-plus-join/raw/master/doc/selectAsSql.png) + +```java +class test { + @Resource + private UserMapper userMapper; + + void testJoin() { + List list = userMapper.selectJoinList(new MyLambdaQueryWrapper() + .as(UserEntity::getHeadImg, UserDTO::getUserHeadImg) + .leftJoin(UserEntity::getId, UserAddressEntity::getUserId, + right -> right.select(UserAddressEntity::getAddress, UserAddressEntity::getTel)) + , UserDTO.class); + } +} +``` + +对应sql + +```sql +SELECT t0.head_img AS userHeadImg, t1.address, t1.tel +FROM user t0 + LEFT JOIN user_address t1 ON t0.id = t1.user_id +``` #### 左连接 leftJoin(UserEntity::getId,UserAddressEntity::getUserId,right -> right) @@ -53,10 +107,32 @@ user left join user_address on user.id = User_address.user_id #### 条件查询eq() -![image](https://gitee.com/best_handsome/mybatis-plus-join/raw/master/doc/selectEq.png) -对应sql - -![image](https://gitee.com/best_handsome/mybatis-plus-join/raw/master/doc/selectEqSql.png) +```java +class test { + @Resource + private UserMapper userMapper; + + void testJoin() { + List list = userMapper.selectJoinList(new MyLambdaQueryWrapper() + .selectAll(UserEntity.class) + .leftJoin(UserEntity::getId, UserAddressEntity::getUserId, + right -> right.select(UserAddressEntity::getAddress, UserAddressEntity::getTel)) + .eq(true, UserEntity::getId, 1) + .like(UserAddressEntity::getTel, "1") + .eq(UserEntity::getId, UserAddressEntity::getUserId) + , UserDTO.class); + } +} +``` + +对应sql + +```sql +SELECT t0.name, t0.sex, t0.head_img, t0.id, t1.address, t1.tel +FROM user t0 + LEFT JOIN user_address t1 ON t0.id = t1.user_id +WHERE (t0.id = ? AND t1.tel LIKE ? AND t0.id = t1.user_id) +``` #### [参考测试类](https://gitee.com/best_handsome/mybatis-plus-join/blob/master/src/test/java/com/example/mp/MpJoinTest.java) diff --git a/doc/select.png b/doc/select.png deleted file mode 100644 index 5d1810597bec760ce749b596c29e92952ae829fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11952 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

|J#Ij^#N*&jDjPW2pN!oxhU%s_+3! zX0q~4kRV?c*fu(K@`EQ}dorJj_=Zs`ithd6pNO8fy>=^H2{v+QV3-K1%hhySQ>9Pf zZu7}2o#4zd23#ND^d7lrtls1p>ptw^@Xt*Brk|(d)=sB~>}1@?WSNZK-E#B^oO0I> z)zKx~)_(9N>{Ny5#!hQ->+I(LFO0Mfn*f0S_U1^y83j0g6e;}tj=w|)#p!`#%UiIn zx!0hxJYi+?Z>HtQsP6hJB-=05Cz0a73`pX?_fwJ%pu7*P1Gn2w2fL4NLKC)3y_$XV zbC?fmNaN4~!KhDD=3maaQn|ArTIe9HzIVX(*R|V=jXRLqFF~&A-&()4LkZioZX2_O?yMzDusH)Y(nO62lzWq3&YS$(U-R?p7 zG`ac$-a$4cUvMK#9_-ZQ7B9;M#ORPR_Y z6mEVnr&G+@qPA|Vq&!MgdJ8ewTysZ0pL7~Eta{{6ZDk1h93;^R+&y?icK;EjuMEX! z3GTkX2j~+9++eMTu=?xQ*7eud{i`3UjbExM4^3vuQgM*POCQv7u6{(G!ZY7Ab24S; zXi>)tuMWC{$9MQXRQvJ6Yzbkh?N9fH$vrrq&2iSGr7qA zS{gR54#$$OobSi|@*2-lEc72U>^^>Yn`6G{e8$18A*0AzuVG>a^t6rdX)y(OOHgSi z3&y)r_KF#jQer!Yi2#YU_6&r%v+%k*v07XVb6w%v3N{8Ru7Xp1Bq)Y;?xYR!-lEQt zc3;lLpGO(DTe6{ZDuekj>s5k4S6ToYoz?DXYzgpRHYTYfL_xxW7*DlGv rfc2wY679c*|1v%M|9ncyYhDEQzB787?0o6?`rVMT4reMXz3=`H1w<(5 diff --git a/doc/selectAll.png b/doc/selectAll.png deleted file mode 100644 index 1cdc4deac22c6c2a4dd4042c4ce80f2023e1216e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10992 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 Y&!0as-yr@1Mg!?zzjLkh%KgXx0R>d!AOHXW diff --git a/doc/selectAllSql.png b/doc/selectAllSql.png deleted file mode 100644 index e14394aba659461f8c3cfcb06c6f17fc892beae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3876 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 diff --git a/doc/selectAsSql.png b/doc/selectAsSql.png deleted file mode 100644 index 3b0ed219862704b2ffa08ad98e07a62418d46dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3374 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 In_*-B8-}e;4*&oF diff --git a/doc/selectEq.png b/doc/selectEq.png deleted file mode 100644 index cab3e086658a0b183121c21df04e8b133432941b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17558 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 bV{^yTMA>-9F`ekG3mE8|Tq(Wm5cPim&R3AV diff --git a/doc/selectEqSql.png b/doc/selectEqSql.png deleted file mode 100644 index 5a809f6d2d74de768de9b269012313392951b419..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5591 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 H_s#zTMnk_c diff --git a/doc/selectSql.png b/doc/selectSql.png deleted file mode 100644 index f53f48c27b9e42c54809b3c140eb0e0b48ebdb05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3427 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 b-QVGIVnL3vaVi3wixF_?f`t(c>2mKsc`Z12 diff --git a/src/test/java/com/example/mp/MpJoinTest.java b/src/test/java/com/example/mp/MpJoinTest.java index 1207fa7..fc57826 100644 --- a/src/test/java/com/example/mp/MpJoinTest.java +++ b/src/test/java/com/example/mp/MpJoinTest.java @@ -113,14 +113,44 @@ class MpJoinTest { @Test - void test4() { - userMapper.selectJoinList(new MyLambdaQueryWrapper() + void select() { + List list = userMapper.selectJoinList(new MyLambdaQueryWrapper() + .select(UserEntity::getHeadImg, UserEntity::getHeadImg) + .leftJoin(UserEntity::getId, UserAddressEntity::getUserId, + right -> right.select(UserAddressEntity::getAddress, UserAddressEntity::getTel)) + , UserDTO.class); + } + + @Test + void selectAll() { + List list = userMapper.selectJoinList(new MyLambdaQueryWrapper() + .selectAll(UserEntity.class) + .leftJoin(UserEntity::getId, UserAddressEntity::getUserId, + right -> right.select(UserAddressEntity::getAddress, UserAddressEntity::getTel)) + , UserDTO.class); + } + + @Test + void selectAs() { + List list = userMapper.selectJoinList(new MyLambdaQueryWrapper() .as(UserEntity::getHeadImg, UserDTO::getUserHeadImg) .leftJoin(UserEntity::getId, UserAddressEntity::getUserId, right -> right.select(UserAddressEntity::getAddress, UserAddressEntity::getTel)) , UserDTO.class); } + @Test + void selectEq() { + List list = userMapper.selectJoinList(new MyLambdaQueryWrapper() + .selectAll(UserEntity.class) + .leftJoin(UserEntity::getId, UserAddressEntity::getUserId, + right -> right.select(UserAddressEntity::getAddress, UserAddressEntity::getTel)) + .eq(true, UserEntity::getId, 1) + .like(UserAddressEntity::getTel, "1") + .eq(UserEntity::getId, UserAddressEntity::getUserId) + , UserDTO.class); + } + private void log(String format, String... args) { System.err.println(String.format(format, args));