java mysql 增删改查语句示例

您所在的位置:网站首页 myeclipse增删改查语句 java mysql 增删改查语句示例

java mysql 增删改查语句示例

2024-07-16 15:58| 来源: 网络整理| 查看: 265

老师给的例子都在工程里,好麻烦,,,,整他一下

精华 增: PreparedStatement ps = conn.prepareStatement("insert into tb_books(name) values(?)"); ps.setString(1, book.getName()); int row = ps.executeUpdate(); 查: Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from tb_books"); while (rs.next()) { println(rs.getInt("bookCount")); } 改: PreparedStatement ps = conn.prepareStatement("update tb_books set bookcount=?"); ps.setInt(1, bookCount); int row = ps.executeUpdate(); 删: PreparedStatement ps = conn.prepareStatement("delete from tb_books where id=?"); ps.setInt(1, id); ps.executeUpdate(); 总结

增删改都会对数据库进行改动,都用:executeUpdate(), 有返回值 查不会对数据库进行改动,用executeQuery, 用ResultSet接收

关于

PreparedStatement ps = conn.prepareStatement(); Statement stmt = conn.createStatement();

的区别: stmt不会改变 ps会改变,后面有? 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

完整版 增: try { // 加载数据库驱动,注册到驱动管理器 Class.forName("com.mysql.jdbc.Driver"); // 数据库连接字符串 String url = "jdbc:mysql://localhost:3306/db_database10?useUnicode=true&characterEncoding=utf8"; // 数据库用户名 String username = "root"; // 数据库密码 String password = "123456"; // 创建Connection连接 Connection conn = DriverManager.getConnection(url,username,password); // 添加图书信息的SQL语句 String sql = "insert into tb_books(name,price,bookCount,author) values(?,?,?,?)"; // 获取PreparedStatement PreparedStatement ps = conn.prepareStatement(sql); // 对SQL语句中的第1个参数赋值 ps.setString(1, book.getName()); System.out.println("name:"+book.getName()); // 对SQL语句中的第2个参数赋值 ps.setDouble(2, book.getPrice()); // 对SQL语句中的第3个参数赋值 ps.setInt(3,book.getBookCount()); // 对SQL语句中的第4个参数赋值 ps.setString(4, book.getAuthor()); // 执行更新操作,返回所影响的行数 int row = ps.executeUpdate(); // 判断是否更新成功 if(row > 0){ // 更新成输出信息 out.print("成功添加了 " + row + "条数据!"); } // 关闭PreparedStatement,释放资源 ps.close(); // 关闭Connection,释放资源 conn.close(); } catch (Exception e) { out.print("图书信息添加失败!"); e.printStackTrace(); } 查: try { // 加载数据库驱动,注册到驱动管理器 Class.forName("com.mysql.jdbc.Driver"); // 数据库连接字符串 String url = "jdbc:mysql://localhost:3306/db_database10"; // 数据库用户名 String username = "root"; // 数据库密码 String password = "123456"; System.out.print(password); // 创建Connection连接 Connection conn = DriverManager.getConnection(url, username, password); // 获取Statement Statement stmt = conn.createStatement(); // 添加图书信息的SQL语句 String sql = "select * from tb_books"; // 执行查询 ResultSet rs = stmt.executeQuery(sql); // 实例化List对象 List list = new ArrayList(); // 判断光标向后移动,并判断是否有效 while (rs.next()) { // 实例化Book对象 Book book = new Book(); // 对id属性赋值 book.setId(rs.getInt("id")); // 对name属性赋值 book.setName(rs.getString("name")); // 对price属性赋值 book.setPrice(rs.getDouble("price")); // 对bookCount属性赋值 book.setBookCount(rs.getInt("bookCount")); // 对author属性赋值 book.setAuthor(rs.getString("author")); // 将图书对象添加到集合中 list.add(book); } // 将图书集合放置到request之中 request.setAttribute("list", list); rs.close(); // 关闭ResultSet stmt.close(); // 关闭Statement conn.close(); // 关闭Connection } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } 改: try { // 加载数据库驱动,注册到驱动管理器 Class.forName("com.mysql.jdbc.Driver"); // 数据库连接字符串 String url = "jdbc:mysql://localhost:3306/db_database10"; // 数据库用户名 String username = "root"; // 数据库密码 String password = "123456"; // 创建Connection连接 Connection conn = DriverManager.getConnection(url,username,password); // 更新SQL语句 String sql = "update tb_books set bookcount=? where id=?"; // 获取PreparedStatement PreparedStatement ps = conn.prepareStatement(sql); // 对SQL语句中的第一个参数赋值 ps.setInt(1, bookCount); // 对SQL语句中的第二个参数赋值 ps.setInt(2, id); // 执行更新操作 ps.executeUpdate(); // 关闭PreparedStatement ps.close(); // 关闭Connection conn.close(); } catch (Exception e) { e.printStackTrace(); } 删: try { // 加载数据库驱动,注册到驱动管理器 Class.forName("com.mysql.jdbc.Driver"); // 数据库连接字符串 String url = "jdbc:mysql://localhost:3306/db_database10"; // 数据库用户名 String username = "root"; // 数据库密码 String password = "123456"; // 创建Connection连接 Connection conn = DriverManager.getConnection(url,username,password); // 删除图书信息的SQL语句 String sql = "delete from tb_books where id=?"; // 获取PreparedStatement PreparedStatement ps = conn.prepareStatement(sql); // 对SQL语句中的第一个占位符赋值 ps.setInt(1, id); // 执行更新操作 ps.executeUpdate(); // 关闭PreparedStatement ps.close(); // 关闭Connection conn.close(); } catch (Exception e) { e.printStackTrace(); } Statement接口在创建了数据库连接之后,就可以通过程序来调用SQL语句对数据库进行操作, 在JDBC中Statement接口封装了这些操作。Statement接口提供了执行语句和获取查询结果的基本方法 PreparedStatement接口继承于Statement接口,它拥有Statement接口中的方法, 而且PreparedStatement接口针对带有参数SQL语句的执行操作进行了扩展。 应用于PreparedStatement接口中的SQL语句,可以使用占位符“?”来代替SQL语句中的参数,然后再对其进行赋值。 使用PreparedStatement接口,不仅可以提高SQL的执行效率,而且还可以避免SQL语句的注入式攻击


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3