MyBatis的动态SQL操作--删除

时间:2022-06-01 18:28:57

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUYAAAC/CAIAAAANX+LCAAAYvElEQVR4nO2dWWycV9nHDyC6UEGBGy4AIVGpAi64QKJqJaQihNoLLqDAFUjAZbkBtSD1okKqBG31kUrQ0CRNs7pxMEkcp3Hc2PH+eR/H9uz7vDPvrJ7Fs+9O3Pkuns9Hg7eMZ84cz7z5/y6sJM3Mifq8//csz3P+D6sBADQEO+p/AABAJJA0AJoCkgZAU0DSAGgKSBoATQFJA6ApIGkANAUkDYCmgKQB0BSQNACaApIGQFNA0gBoCkgaAE0BSQOgKSBpADQFJA2ApoCkAdAUkDQAmgKSBkBTQNIAaApIGgBNAUkDoCkgaQA0BSQNgKaApAHQFMIk/Ul7ONrRgRxEPYSg1rqk6wOzJZoHRr2towM5QNtiaUnS9Vq6f//+vTo2m6X+S+7fv18fdQmjAzk0HmVwWJqXNFfU/fv3Nzc3q9VqpVIpi6NSqVSr1c3NTQr5jni3e3Qgh4OjDJqgSUnT/3qaG6vVarlcLhaL+Xw+l8tlRZDL5fL5fLFYLJfL1WqV3uU83u0eHcjh4CiD5mhG0nyGvHfvXqVSKRaLuVwunU4nk8lEIhEXQSKRSCaT6XQ6l8sVi8VKpXLv3j16i/Of7RsdyOGAKEPVTdOkpGnFW61Wi8Uiaw+RSCQWiyWTyWw2WywWq9Uq33RJGB3IYb8oQ9JNc2hJ80Xv5uZmuVzO5XKMsfX19UAg4PP5FEXxeDyKoiiK4vV6fYfB6/XSBz0eD2PM5/MFAoH19fVkMpnL5crlMh2r0PwsfHQgh0aijOV3KzQvaZok0+k0YywQCCiK4nK5HA6Hw+FwOp1ut9vtdnOBPRCPx0MfcTqdDoeDMeZyuRRFCQQCsVgsnU7TK5xLWuzoQA4NRhmSboVmJM33sfl8PplM0rvW5XLZ7XabzWa320lUiqJ4vd5GZkv6a4qiULDtdjtjzG63u1wun88XiUSSyWQ+n69UKjRRb25uChwdyKHxKPMdtfjn/SGgJUnncrlEIsEYUxTF4XBwRXk8Hp/P5/f7g8FgMBgMPYhAIOD3+1VV9Xq9Ho/H6XQyxmw2m8PhUBQlFAolEolcLrdD0qJGB3KgcPj9fp/Pd3CUIelWaFLStJXNZrPxeJwx5vF4HA4HV5Tf7w+Hw+vr67FY7IADz1gsFo1G19fX19fXw+FwMBikLbHb7ab3t8Ph8Hg8wWAwHo9ns1me6qDEVYujA/nEYjGKtd/vp730nlHe3NyEpJtGjKQVRXE6naQoVVXpGHNjYyOVSqXT6UwmsyMhmclkMplMKpXa2NhIJBI80vQWVxSFMUa7YkVRHijp3aPH43HKjuweGhwVmUyGco3xeDwSiaiqyhijwO2IMiTdCsIk7XK53G63z+cLBoOUlqB8I9USFIvFUqlEBUOlUokqQzKZDB1ylkqlVCoVCASCwaCqqiRpp9NJZyeNSJqPHgqF4vE4T3XyQcGRQ3GnIoJ4PB4KhRhjbrd7d5Qh6VYQI2naAyuKoqpqOByOx+OpVIoUm8vlCoUCVQhVKhUq26TQ5vP5aDQ6/pvfTL30km5mJhqN0naaJE0q9Xq9D5Q0H93v91M6JJ/Pl0qlarVKxYagE6BwlEolOtdcX1+n17HH49kR5U1IugXESJoOPEhUFBsqBqK5OpvNFgoFmjBJ0vl8Pp1Ob21tDb/xRo2xGmNTL76YSqVose1yufgs7fV6aeI9QNI0Oj0W0WiUciF0ylJfnQKOFirgpYK/dDodjUb565gvryDp1hEsaUVRYrFYKpVaHB9fmZ8vFovhcJjW4ZlMJp/PFwqFXC6XSqU++eSTsXPnqp/9bI2x5JNPDn7wgdVq1ev1FovFZrNxSe8I9n6SVhSFr/kzmQxN0fU3AcCRs7Vd81cqlTKZTCwWq48dJC0KkQtvj8cTCARmRkaWn322xtj9T31q5PTpcDjM589kMplKpRKJRK1WGz1zhubnGmOjL7zgdrsnJyeXlpYMBoPFYuHHYw3O0ngsOp89nxzETjjCJE31A6FQaOaHP+Ra9Xzta4FAwGAw2Gw2KhIKBoPVavXOBx/wv1N65JHLx46NjY2NjIzMzs6urKyYzeb6E29IWhtA0nIQJmmqx1RV9fbly6vPPJN/4okaY/nHH7/6xhvLy8sLCwtra2sWiyUSicyNjMS+9CXSc+GRR3r+/veRkZGrV6/evn17ZmZmdXWVz9KN76XxWHQ+kLQcBEuaZuNUKvXRb39LonV89asLCwvDw8OTk5MWi+Wjd97h83PxkUfOv/nmzZs3e3p6rl27NjIyMj8/bzAYrFbrYY/H8Fh0PpC0HARL2m63WywWvV5vMBiM3/52jbHc449ffPXVsbGxwcHBO8PDkS9/+f/n50cfPfvXv167du3s2bO9vb0fffTR5OTkysqKxWKhgn6q7z/U8Rgei04GkpaDSEnT9Ro6uHY4HAO/+hWfkM/9/vejo6MXt6fu5aefvnD8+KVLl06fPt3T09Pf3z86Orq0tGSxWOjGBZV57k5vQNLdCyQtB2FJLPc2TqfTYrGsrq7qdLrbL7xAGl77xjd6e3v921P09He+09fXd+LEiXPnzl25cmV4eHhhYcFoNFJFp9/vpyKE3cGGpLsXSFoOIvPSHKfTaTQadTrd4uKi6ZvfrDGWfvzxj77/fdJz5rHH/vHKKydOnDh16lRvb++tW7dmZmaMRqPb7Q4Gg+FwmEoFqYwMeWnNgLy0HETO0lTCRTgcjtXVVb1ef/0Xv+DL7xpjsSee+J8//OHkyZPvvvvuhQsXBgYGpqam1tbWSM/RaDQajYbD4f3qilA91r2gekwOgktNvF6vqqpUqm21Wil9ZXzqKS7p2aeeOnXq1LFjx06fPt3X1zcyMqLT6Ww2WzAYXF9fp1tZkUhkv+pf1Hh3L6jxloPgm1gk6UAgoKqqy+XS6/XLy8uXjx8fev75weeeu/nMM8f++Md//etfJ0+evHTp0uDg4MzMjMlkUhSF7mMmEoloNHrAHR3cxOpecBNLDoLvS5OquXOF2WxeWFiYmZkZGxsbGBi4fPny2bNn33///Z6enoGBgfHxcZqifT5fOBzmq+4DbtLivnT3gvvScmiLqwltpz0ej81mW11dnZmZGR4e7u/v7+vr6+3t7evrGxgYGBkZmZubo3QXnWyRnc3BfhdwNelq4GoiATHeY+2gce8x0L3Ae0w4AhxCI5GIb5dHJ1We2O12k8m0tram0+lmZ2enpqYmJyenp6fn5uaWl5fpKiXVclMWmntH0vc04hC65+hwCO1AdjuE7hdlSLoVBPh4x2KxPZ20qZjMZrOZzWaDwbCysrK8zerqKl2ipIhSAqze4Znr/IE+3vuNDh/vDqTBKMPHuxUEdNughMTufhc8ivxGh9VqtVgsVquVdlAul4s23vwtzj+iKIqvsW4b+42O+bkzaSTKkHQrCOiJlc1mk8kk5ZO5XTP30CYrX7Lppoj6fD6q+qTr0zt8nvkHG+yJdfDooNNoMMrQc9NI6lxJlt3k2k2/OPg4Gp0rHwbQubIdSO0vTfbdjeQwD9tfmizN+BCgK6BAFwqFPaMMmqNJSdfq5mraV5P1Z0kc5XKZjrjrb1/sGJ2rulKpUHES6C5KpVKlUoGeBdK8pGt1m2ouLU6lWeq/hMK83+aKNtX37t3jczXnqB9U8ADqg0WBpiX31tZWKw8kqHWvpDFLawPM0sLpyoU39tLaAHvpdiD1eKxxDjgea+K8HXQmOPFuB5KSWAKDvSMvfdRFyqAlkJcWjoBSE5nBpnjX164xxlA91kXUV48xxnyoHhONgIJQUaJqJNi7a7wZY6jx7hZ21HgzxlDjLRwB1zaEiKrBYNOmuv4mFokfN7E6n903sRhjuIklHAGXK1sXVePB3vO+tKIodC2EuyD4fD5qi4tK786BwsEdb5xOJ8N96TYgxgKhRVE1HmySNFxNuhS4mkigLUZFTYiqwWDDe6x7ycB7TAqC7QSbE1XjwYZDaPdSgkOoFASb/jYnqsaDDR/v7gU+3nIQac3ftKgaDza6bXQv6LYhB5E9sZoWVePBRk+s7mULPbGkIEzSrYiq8WAfLGk8Fp3MwU8OYicKwZJuLjCNfyck3b1A0nKApIEkIGk5QNJAEpC0HCBpIAlIWg6QNJAEJC0HSBpIApKWg6aSWMhLdzLIS8tBI6UmqB7rfFA9JgctFISixrsrQI23HLRwbQM3sboC3MSSg0YuV+K+dOeD+9Jy0IIFAlxNugW4mkhAjFFROzjAqGjzv73HQPcC7zHhCLATjEQiPtF2gvQ9B9sJihodyKHxKEPSrSDA9DcWiwk3/XU4HPuZ/m79t4+3kNGBHBqMMny8W0GANT8lJPx+PyWTSEskJ+9hoJDzb/B6vTwptduaf8fo6LbRLXjrGjAoiuJDtw3RtNpAp1AoZDKZjY2NaDQaCoUCgYC/jsBh2PHBUCgUjUY3NjYymUyhUODVYLxugSbqbDabTCaj0Wg4HA4Gg/VfGASdx44AhcPhaDSKnlgCaanNHU2V+XyeVE3nmZFIJBKJhJuFPk7n1aTnfD5ffwrKf967d69cLhcKhWw2m0qlEolELBaLgu4hFoslEolUKpXNZqklLTpXtk7zzWj5nrZUKlH9wMbGBiUqWicej29sbFDFCNWB1R+ZUMj58psXMKRSqWQymUwmN0BnQ2FKpVK8KIhvrKDnFulKSddqNVp+83OyfD6fzWbToNvIZrPUSJyHeGtrS9zj/TDSfQtvDmbp7gWzdPsQcDzWpiKEA47HsJfWBjHspduAsP7Sh01i1Wcp6dKFy+Xiv2CM7ZnE4i3j292wHsgBJ97COYL+0iR4+stUQmSz2axWq9VqpV9TM9qDS012vFCQl+4W6vPSjDEf8tKikd1fmpcEUuUQ/aHdbjcYDCaTyWQymc1mi8XC9u8vTTfpxTasB3LYUT2234sbkm4F2f2lA4GAqqoejycQCLjd7sFf//r2T39659Ytq9Wq1+uNRqPZbDabzYwxq9V68LUNUQ3rgRx213jv9+JGjXcrSL1cSUfipHOv1zvz/PM1xmqMjf3oR6qqrqysmEwmi8VCs7TVarXb7XtertxxE6vxFwo4Qigcfr/f5/N5PB6n08lwE6sNyLNAoBvwiUQiHA5ns9mPXn+d9Lz5mc/0v/eeXq/X6XQGg8Fisdhstvpg75Y07kt3KTHcl24/7TIqoswEtwriJjWUkPSravgrX6kxlvr856/88596vX5iYmJxcVGv19N6mzFGu+JGJN3ICwUcOXA1kYN4O8FIJJJIJLLbmUbSYaVSoSKzjY2NUqn0vy++SFP06PPP6/X6mzdvjo6Ozs3N6fV6m81GSSx6R3gbsBPc/UJJw3us84D3mBxEmv6SpMPhcCKRyGQyJKpKpUKSLpfLlKWYv3Pn/qc/XWOs8Nhjl95+e2ho6MaNG6Ojo/Pz8yaTiSZbCna9Sg+QtBcOod0AHELlIFjSXq83EolkMplEIkH1A1TBS2XYqVSqXC7P/fjHNEVf/fnPp6am/v3vfw8MDIyPj+t0OqvVSgHmwW5E0j74eHcD8PGWg7CFN62gQqGQqqozH3+cz+cjkQiv+KNNVLFYnBsZoSk68YUvXD5//urVq319fYODg9PT03q93u12q6pKuyzKZDYoaQXdNjqeLXTbkIIwSTudTq/Xe+faNeu3vlVjbOiddwqFgqIoqqqGQiG6yJFOpwdfe42m6PHnnvv4448vXrx45cqV4eHhhYUFi8VCsgwEAvSdh5U0HotOZs8nB7ETjrATb4fD4fP5prdTzTXGbr71ViQSMZlMNpuNqoWCwaD16afpv37w5z9fvXr1ww8/HBgYmJiYWFtbc7vdXPz7BRuS7l4gaTkIKzWx2+1ut/vO9eu6732Pq7r/L39xuVwmk2lpaWl1dXVmYkL5+tdrjK1/8YvnT526dOnS5cuXh4aG5ufnrVarqqp0WZoOTiBpjQFJy0GYpG02m9FopDPqW7/8JVf11Zdf7j9xYn5+fnFx8dKbb9If3nn22f7+/nPnzl25cmV0dPTu3btutzsSidBlWjo4gaQ1BiQtB5GSNpvNq6urKysrVqt18Gc/46quMdbzyis6ne7D3/2Ofjv53e/29vaeP3/++vXrU1NTBoPB5/PFYrFUKgVJaxVIWg4iJW2xWAwGw/Ly8uLi4srKys2f/IRLOvTkkz1/+tP6k0/Sb//58ssXL17s6ekZHBycm5uz2WzBYDCRSKTTaS7pPdMbkHT3AknLQeRe2mq1mkymtbW1xcXF2dnZ6enpnr/9Lf/oo/XTdY2xxOc+94+33jpz5kxvb+/t27eXlpYcDgetuqkI/LDNaJHE6gqQxJKDYElbLBaj0bi6ujo3Nzc2NrawsND30kv1eo4/8cSx1147efLk+++//5///Gd8fHx1ddXj8YTD4Xg8vrGxEYvFDigVRKlJ94JSEzmITGKRM4nJZDIajcvLyzMzM8PDw4ODg6def/3GD34w8Oyz15955u1XXz1x4sS777574cKFGzduTE9PGwwGt9tNaoxGo000o0VBaFeAglA5iJ+lLRaL2WzW6/VLS0uTk5NDQ0M3b96kFPS5c+fee++948ePnzlzpq+vb2hoaHZ21mAwuFwuqkgJhUJNNKPFtY2uANc25NCVzWhxubIbweVKOYhvRktztdlsNhgMd+/enZ2dnZiYuH379o0bN/r7+69duzYwMHDr1q2xsbHZ2dmVlRWz2UxlKmRM1UgzWlggdCmwQJCA+Ga09m34UdnS0tLMzMzExMTY2Njo6Oj4+Pj09PT8/Pzdu3eNRiOVi9LKuZFmtOQ3jJbx2gBGRcJpSzNa2iDRfGu1Wo1G49ra2vLysk6n0+l0y8vLKysr5ElEUzG38tzRjHa3HWy9pOvXCE6nkxYI9IjUf+cBXuJAJjzE9Orn8aILP7ATFEUbm9GSLyQ5Qta7dtMKmVTn8/lUVd2zGS2ZtlO3De4Fy635aY2QSqWi0Sit4ugp4d9fP/ODDoFe9HxvRe9ft9vt9/uj0WgqleJtVWjmEP64Pwy0tycW+UKSXFVVJZGrqlrfRHp3QyzqiRWPx5PJJHXPKW+3VuEZzs3NzVKplM1myZ/Q5/O5txft/KcLdB58Y8Ud171eL62662uEIOmmkdG5khLOXO2kWN4VaU/IFIXrmZbc9XVI/HyOJupgMEgFJ/Vzggd0HjsC5N3eXm1sbND2ivZW0HPTSG1GW9/f7OBOtPXdz+igm+bnWt2yv1KpFAoFSnLSISqt80G34PV6VVWlKqP6ExMea9AEndiMlvJPdIuD6sA26/okQdKagUuaZulsNlssFjfRE6s1OrQZbSgUojDT2rtSqdTfwahfeLdjdCATKhyMx+PpdHpHrIU/7g8DR9aMdneGg++12HYnWkps7OhEu+N4jDGG47HuwrkN9WDweDyqqobDYZqoy2he2RpH0Ix2N56GGxpySfMkFmMMSawuwvXfeSzGGK/547focOjdCrKb0e6Gz9LuBhoaUmp69+goNekK+BvctV1twhij/iq7Y421d3PIbkbbYkPDekmjc2XXgeaVEpDajLb1an6StNjRgUxwc6PdyGtGK+TO3Z6SbmV0IBPcr5RAu5rRNm5CcKib8ftJuunRgUzggiAB8c1oD2sVdCj/mj0l3croQCbwKpKAyM6V3qYM/Q7lMrenpGEn2C3AUVACwiStNGu7u7V1CC/Y/STd9OhAJoeKNSTdHIIl3URUDvWFB0saz0SHI/zhAbuBpIE8IGkJQNJAHpC0BCBpIA9IWgKQNJAHJC0BnHgDeeDEWwLISwN5IC8tAVSPAXmgekwCqPEG8kCNtwRwEwvIAzexJID70kAquC/dbjq0Ge2hXE1AVwNXE7GIb0bbuvfYfp1o9/Qea3F0IJNDxRqSbg7xzWhbdwjdrxPtbodQIaMDmTQea3rS2vHQaxthzWgDgYDP56OYUfAONUPW20cqiuLz+XZ3ot3h4y1wdCCTBmMNSTdHq902isViNptNJpOxWCwSiXAXyMO6c+74VCQSicViyWQym83WT9E7ipBEjQ5k0nishT/uDwMt9cTilUCUaUwmk4lEovVDUWpbyXPL9Tur+tLCNo0OZHJwrIU/7g8DzXeupOU3Na8sl8vFYjGfz+dyudazl7lcLp/PF4vFcrlcrVZ5d1Ie47aODmTywFiDw9KkpGt1czXtbKvVaqVSEVVmVKlUqJazfr0tbXQgkwfGGhyK5iVdq9MVr8jnNFcDXP8N/DBsvxgLHx3I5FCxBo3TkqRr27qqV5co6r9Z/uhAJo3EGjRIq5LmfNIGjnZ0IBNRzyEQJmkAQCcASQOgKSBpADQFJA2ApoCkAdAUkDQAmgKSBkBTQNIAaApIGgBNAUkDoCkgaQA0BSQNgKaApAHQFJA0AJoCkgZAU0DSAGgKSBoATQFJA6ApIGkANAUkDYCmgKQB0BSQNACaApIGQFNA0gBoCkgaAE0BSQOgKf4PKJaMeJMBNA4AAAAASUVORK5CYII=" alt="" />

删除选中的条目,具体选中哪些是不确定的

根据选择条目的不同生成不同的sql语句来删除不同的条目.

delete from student where id in (1, 3, 5)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--
namespace的取值可以是实体的全限定名,这样有好处!
-->
<mapper namespace="com.winner.entity.Student">
<resultMap id="studentMap" type="Student">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="sal" column="sal"/>
</resultMap>
<delete id="dynaDeleteArray">
delete from student where id in
<!-- foreach用于迭代数组元素
open表示开始符号
close表示结束符合
separator表示元素间的分隔符
item表示迭代的数组,属性值可以任意,但提倡与方法的数组名相同
#{ids}表示数组中的每个元素值
-->
<foreach collection="array" open="(" close=")" separator="," item="ids">
#{ids}
</foreach>
</delete> <delete id="dynaDeleteList">
delete from student where id in
<foreach collection="list" open="(" close=")" separator="," item="ids">
#{ids}
</foreach>
</delete>
</mapper>
public class StudentDao {
/**
* 根据ID批量删除(数组)
*/
public void dynaDeleteArray(int... ids) throws Exception{
SqlSession sqlSession = null;
try{
sqlSession = MybatisUtil.getSqlSession();
sqlSession.delete(Student.class.getName() + ".dynaDeleteArray", ids);
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
sqlSession.rollback();
throw e;
}finally{
MybatisUtil.closeSqlSession();
}
} /**
* 根据ID批量删除(集合)
*/
public void dynaDeleteList(List<Integer> ids) throws Exception{
SqlSession sqlSession = null;
try{
sqlSession = MybatisUtil.getSqlSession();
sqlSession.delete(Student.class.getName() + ".dynaDeleteList", ids);
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
sqlSession.rollback();
throw e;
}finally{
MybatisUtil.closeSqlSession();
}
} public static void main(String[] args) throws Exception{
StudentDao dao = new StudentDao();
//dao.dynaDeleteArray(new int[]{1,3,5,7,77});
//dao.dynaDeleteArray(1,3,5,7,77);
//dao.dynaDeleteArray(2,4,444); List<Integer> ids = new ArrayList<Integer>();
ids.add(6);
ids.add(8);
ids.add(9);
dao.dynaDeleteList(ids);
}
}