zoukankan      html  css  js  c++  java
  • java数据库(MySQL)之增删改查

    1.查询数据

    先救从简单的来吧,之前我们实现了将数据库表格信息读取到一个List集合中,数据库的查询,实

    际上就是对这个集合的查询;

     1 public class Show {
     2     public static void main(String[] args) {
     3         //获取之前的数据集合
     4         List<User> list = Do.userlist();
     5         //foreach遍历这个集合
     6         for (User user : list) {
     7             //查询条件,查找user为tom的用户名和密码
     8             if(user.user.equals("tom")) {
     9                 //这里要用equals()方法,不能用==,切记
    10                 System.out.println("用户名:"+user.user+";密码:"+user.password);
    11             }
    12         }
    13     }
    14 }

    控制台打印如下:

    1 用户名:tom;密码:243523563

    其实我们也可以将这个方法封装起来,并传入一个字符串参数,从而实现对用户信息的输出,在这里不做深究。

    2.增加数据

    在实现这个功能之前我们要事先了解一下,SQL语句是如何实现数据的添加的;

    先来看一下表有哪些数据项

    我们可以看到,这个表中有4个属性,由于设置的时候,设置成了必填,所以,添加的时候也得全填

    SQL语句:

    INSERT INTO table1(id,user,password,age) VALUES ('5','cindy','35675467','23') ;

     1 public class Insert {
     2     // 利用含参构造器新建一个User对象,传入数据
     3     static User newuser = new User(5, "cindy", "123452", 23);
     4     // 定义含参方法将这个数据(对象)添加到表格中
     5     public static void add(User newuser) {
     6         try {
     7             // 获取数据库的连接
     8             Connection conn = MySQL.getconnect();
     9             // 设置SQL规则,数据由于还不知道先用?代替
    10             String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";
    11             // 预处理sql语句
    12             PreparedStatement presta = conn.prepareStatement(sql);
    13             // 设置sql语句中的values值
    14             presta.setInt(1, newuser.id);
    15             presta.setString(2, newuser.user);
    16             presta.setString(3, newuser.password);
    17             presta.setInt(4, newuser.age);
    18             // 执行SQL语句,实现数据添加
    19             presta.execute();
    20         } catch (SQLException e) {
    21             e.printStackTrace();
    22         }
    23     }
    24     public static void main(String[] args) {
    25         // 执行add(newuser)方法
    26         add(newuser);
    27     }
    28 }

    我们看看结果:

    添加成功,Bingo!

    3.删除数据

    其实增删改查,实际上就是对sql语句的运用,这里的删除也不例外

     1 public static void delete(Integer id) {
     2         try {
     3             // 获取数据库的连接
     4             Connection conn = MySQL.getconnect();
     5             // 设置SQL规则,数据由于还不知道先用?代替
     6             //String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";
     7             //String sql = "Update table1 set user=?,password=?,age=? where id=?";
     8             String sql = "delete from table1 where id=?";
     9             // 预处理sql语句
    10             PreparedStatement presta = conn.prepareStatement(sql);
    11             // 设置sql语句中的values值
    12             presta.setInt(1,id);
    13             // 执行SQL语句,实现数据添加
    14             presta.execute();
    15         } catch (SQLException e) {
    16             e.printStackTrace();
    17         }
    18     }
    19     public static void main(String[] args) {
    20         // 执行add(newuser)方法
    21         delete(2);
    22     }

    delete()方法传入了一个参数id,用于删除指定id的数据,如下:

    id为2的信息被删除了,beautiful!

    4.更新数据

     1 public class Insert {
     2     // 利用含参构造器新建一个User对象,传入数据
     3     static User newuser = new User(5, "Cindy", "1234567890", 23);
     4     // 定义含参方法将这个数据(对象)添加到表格中
     5     public static void update(User newuser) {
     6         try {
     7             // 获取数据库的连接
     8             Connection conn = MySQL.getconnect();
     9             // 设置SQL规则,数据由于还不知道先用?代替
    10             //String sql = "INSERT INTO table1(id,user,password,age) VALUES (?,?,?,?)";
    11             String sql = "Update table1 set user=?,password=?,age=? where id=?";
    12             // 预处理sql语句
    13             PreparedStatement presta = conn.prepareStatement(sql);
    14             // 设置sql语句中的values值
    15             presta.setString(1, newuser.user);
    16             presta.setString(2, newuser.password);
    17             presta.setInt(3, newuser.age);
    18             presta.setInt(4, newuser.id);
    19             // 执行SQL语句,实现数据添加
    20             presta.execute();
    21         } catch (SQLException e) {
    22             e.printStackTrace();
    23         }
    24     }
    25     public static void main(String[] args) {
    26         // 执行add(newuser)方法
    27         update(newuser);
    28     }
    29 }

    这里是根据ID号来更新信息,结果如下

    姓名、密码被成功更改,nice!

  • 相关阅读:
    java 类加载机制总结
    栈和队列的java简单实现
    java内存模型个人理解总结
    Day12-微信小程序实战-交友小程序-搭建服务器与上传文件到后端并控制云开发数据库-项目总结与github代码发布流程(附上项目全部完整代码学习使用)
    Day12-微信小程序实战-交友小程序-优化“附近的人”页面与serach组件的布局和样式以及搜索历史记录和本地缓存*内附代码)
    CSS-好玩的样式(用高斯模糊制作平缓突起)
    Day18-PHP-入门2
    Day18-PHP-入门1
    Day17-JS-jQuery
    Day17-JS进阶-线程机制和事件机制
  • 原文地址:https://www.cnblogs.com/eco-just/p/7785016.html
Copyright © 2011-2022 走看看