在日常生活中,人们可能会遇到想同时修改自己所有账户的密码,这个时候再用批量处理已经不好使了,因为我们要处理的是某个人的多个账户,而不是所有人的,那么怎么才能实现呢?经过大量的测试,我写了一个单元测试代码来实现这个想法。看下面的words.
修改前的对照表
下面我们来修改一下其中两个账户的密码
看代码
1 package day03_jdbc2; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import org.junit.Test; 8 9 public class JdbcTest { 10 //单元测试 11 12 @Test 13 public void update() { 14 Connection conn=null; 15 PreparedStatement ps=null; 16 ResultSet rs=null; 17 try { 18 Class.forName("com.mysql.jdbc.Driver"); 19 conn=DriverManager.getConnection("jdbc:mysql:///jt_db","root",""); 20 String sql="update user set password=? where username in(?,?)"; 21 ps=conn.prepareStatement(sql); 22 23 ps.setString(1, "qq123#"); 24 //假设一个人多个账户不同的名字,这里我们修改他两个账户 25 ps.setString(2, "张三"); 26 ps.setString(3, "李四"); 27 28 int r=ps.executeUpdate(); 29 System.out.println("修改了"+r+"个账户"); 30 } catch (Exception e) { 31 // TODO Auto-generated catch block 32 e.printStackTrace(); 33 }//提取到配置文件中,修改方便 34 finally { 35 //封装了一个释放资源方法的类JDBCUtil 36 JDBCUtil.close(conn, ps, rs); 37 } 38 } 39
修改后的数据库
代码执行后的效果图
那么大家看明白了吗?这里是对sql语句的修改,将sql语句中的username设置为多选项,多加一个问号,下面就可以多设置一个账户名。
代码的世界是很丰富多彩的,技术的进步需要我们每个编程爱好者一步一步共同的研究,如果选择了这条路,那就冒雨前行,未来的你就是大咖。