day17-jdbc 7.Statement介绍

SQL语句:DML、DQL、DCL、DDL。DML和DQL是用的最多的。DCL和DDL用的很少。

程序员一般是操作记录,创建一表很少。


package cn.itcast.jdbc;
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//演示executeUpdate方法
public class JdbcDemo3 {
   public static void main(String[] args) throws SQLException, ClassNotFoundException {
	  
	   //1.注册驱动
	  Class.forName("com.mysql.jdbc.Driver");//优点是加载一次  替换registerDriver()这个方法  这个不耦合,根本就没用mysql驱动的东西 不是意味着那就不用驱动了,只是不依赖jar包

	  String url = "jdbc:mysql:///day17";
	  
	  
	  //2.获取连接对象
	  Connection con = (Connection) DriverManager.getConnection(url, "root", "");
     
	  //3.通过连接对象获取操作sql语句的Statement
    Statement st = con.createStatement();
    
    //4.执行update语句
     int row = st.executeUpdate("update user set password='135' where id=1");//执行update语句就没有什么ResultSet了
     System.out.println(row);
     /**
      * 你可以判断它非0知道执行成没成功。不要拿返回值说我第几条改变了,你只判断返回值是0还是非0.它返回的是非0就说明update语句执行了没问题。如果它返回的是一个0,那就不一定了。所以不要拿返回值说事,而是要拿那个返回值判断非不非0来确定那个SQL语句执行成没成功。
      */
    //而是要拿返回值是否非零来判断那个SQL语句是否执行成功
     
     
     
     //6.释放资源
   
    st.close();
    con.close();
    //直接把con关闭了,数据库和程序断开了。但是statement和resultset没有及时释放,它还在内存存着。close()是释放和回收资源。
    //close()的顺序和进门出门是一样的,是进门的时候先进大门,出门的时候是最后才出大门
    //=============
   //Java可以操作数据库
   }
}

你可以判断它非0知道执行成没成功。不要拿返回值说我第几条改变了,你只判断返回值是0还是非0.它返回的是非0就说明update语句执行了没问题。如果它返回的是一个0,那就不一定了。所以不要拿返回值说事,而是要拿那个返回值判断非不非0来确定那个SQL语句执行成没成功。


 批处理跟windows系统上那个bat文件无关。咱们所说的批处理是指多条SQL语句一齐执行的问题。因为一齐执行可以提高性能。1000条SQL语句,如果按传统的方式,执行一条关一条,执行一条关一条,性能太低。相当于是把1000条SQL语句放到缓存里面。


execute()方法的返回值是boolean类型,这个方法不深究。

原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6628827.html