亚马逊网站建设案例,景宁建设局网站官网,现在有什么技能培训班,怎样在网上卖自己的东西用Connection获得了数据库连接对象后#xff0c;可以用Statement类型进行数据库操作。
在Statement对象中#xff0c;有三种#xff0c;分别是Statement#xff0c;PrepareStatement#xff0c;CallableStatement。
这三个的区别在于#xff1a;
Statement 用于执行不…用Connection获得了数据库连接对象后可以用Statement类型进行数据库操作。
在Statement对象中有三种分别是StatementPrepareStatementCallableStatement。
这三个的区别在于
Statement 用于执行不带参数的简单SQL语句 PreparedStatement 用于执行带或者不带参数的SQL语句SQL语句会预编译在数据库系统执行速度快于Statement对象 CallableStatement 用于执行数据库存储过程的调用
Statement
Statement用于执行静态的SQL语句。通过con.createStatement()创建一个Statement对象之后调用executeQuery(sql)函数进行SQL操作。
executeQuery函数原型
public ResultSet executeQuery(String sql) throws SQLException这个方法接受一个 SQL 查询字符串作为参数并返回一个 ResultSet 对象该对象包含查询结果。如果查询失败则抛出 SQLException 异常。 当使用Statement或PreparedStatement对象执行查询语句时会返回一个ResultSet对象它包含了查询结果的数据。通过ResultSet对象可以遍历结果集的行并获取每一行中的列数据。 ResultSet对象维护一个指向其当前数据行的游标并提供了多种常用的方法来访问数据。 next()将光标移动到下一行。当ResultSet对象中没有更多行时它返回false因此可以在while循环中使用它进行迭代。getString(columnName)根据列名获取整行的字符串。getString(int columnIndex)根据列的索引位置获取整行的字符串。getInt(columnName)根据列名获取整行的int值。getInt(int columnIndex)根据列的索引位置获取整行的int值。close()关闭ResultSet对象释放资源。 这些方法可以根据需要选择使用以高效地访问和处理查询结果。 在数据库中模糊查找airports表中符合name的Name并逐个打印出来。 public static void findAirportByName(String name) {try {Statement stat con.createStatement();System.out.println(name);ResultSet res stat.executeQuery(SELECT * FROM airports WHERE Name LIKE % name %);while(res.next()) {System.out.println(id: res.getInt(1) Name: res.getString(2) Address: res.getString(3) Type: res.getString(4) Phone: res.getString(5) Level: res.getString(6));}} catch (SQLException ex) {}}PrepareStatement
PrepareStatement是预编译的Statement对象。在prepareStatement方法中使用占位符(?)来代替具体的参数值然后使用set方法设置参数的值。最后调用execute方法进行执行。 预编译是指在执行SQL语句之前将SQL语句发送到数据库进行预处理以提高执行效率和安全性。 set方法的函数原型
void setXXX(parameterIndex idx, x val); // XXX 为Int String 等其中parameterIndex idx中的下标从1开始。
execute方法的返回值为布尔值成功执行返回true否则返回false。
向数据库中插入一条机场信息。 public static void addNewAirPort() {try{pscon.prepareStatement(insert into airports (Id, Name, Address, Type, Phone, Level) values (?, ?, ?, ?, ?, ?));ps.setInt(1, 42);ps.setString(2, abcdef);ps.setString(3, Shanghai);ps.setString(4, BBB);ps.setString(5, 1232323);ps.setString(6, Sk);ps.execute();}catch(SQLException ex)//捕捉并处理SQL异常(创建数据库连接对象的时候或者执行SQL语句的时候){System.out.println(ex.toString());}}[【JDBC】Java连接MySQL数据库-CSDN博客](https://blog.csdn.net/qq_61635026/article/details/131637051?ops_request_miscrequest_idbiz_id102utm_termjdbc mysqlutm_mediumdistribute.pc_search_result.none-task-blog-2allsobaiduweb~default-7-131637051.142v96pc_search_result_base3spm1018.2226.3001.4187)