JDBC

推送SQL语句类型

  • executeUpdate(),专门推送DML语句。(insert,update,delete)
  • executeQuery(),专门推送DQL语句。(select)

返回结果类型

  • executeUpdate(),返回int类型数据,表示本次插入,删除,更新了多少行数据
  • executeQuery(),返回ResultSet类型,查询结果集
  • ResultSet.next(),返回一个boolean值
    true,表示指针落在一个数据行
    false,表示指针离开临时表
public static void main(String[] args)throws Exception {
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs = null;

        try {
            //1.创建Driver对象并交给DrvierManager
            DriverManager.registerDriver(new Driver());
            //2.建立通道并交给Connection
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","1234");
            //选择开启事务
            con.setAutoCommit(false);
            //3.由Connection提供执行sql语句的对象
            ps = con.prepareStatement("select * from user where name = ?");
            //setString(sql语句中第几个占位符"?",value);
            ps.setString(1,"zhangsan");
            //4.执行sql
            rs = ps.executeQuery();
            
            //提交事务
            con.commit();
            while(rs.next()){
               //获取查询结果,字段名不区分大小写,
               //无论当前字段是何种数据类型,都可以使用rs.getString()
               String name=  rs.getString("name");
            }
        } catch (SQLException e) {
            e.printStackTrace();
            //事务回滚
            con.rollback();
        } finally {
        	//关闭通道连接
            if(rs!=null){
                rs.close();
            }
            if(ps!=null){
                ps.close();
            }
            if(con!=null){
                con.close();
            }
        }
    }

你可能感兴趣的:(java,java)