/**
* 网络编程
* 网络通信协议
* TCP/IP协议(又称协议簇)
* 是一组用于实现网络协议的通信协议
* 其名称来源于该协议簇的两个重要协议(TCP和IP)
* 基于TCP/IP的参考模型将协议分为4个层次
* 链路层、网络层、传输层、应用层
* 链路层
* 也称为网络接口层 该层负责监视数据在主机和网络之间的交互
* 事实上 TCP/IP本身并未定义该层协议
* 而由参与互连的各网络使用自己的物理层和数据链路层协议与TCP/IP的网络层进行连接
* 网络层
* 也称网络互联层 是整个TCP/IP协议的核心
* 它主要用于将传输的数据进行分组 将分组数据发送到目标计算机或网络
* 传输层
* 主要完成网络程序的通信 在进行网络通信时 可以采用TCP
* 也可以采用UDP
* 应用层
* 主要负责应用程序的协议 如HTTP FTP等
* IP地址和端口号
* 想要使网络中的计算机能够通信 必须给计算机指定一个标识号(IP地址)
* IP地址泛用的版本是IPv4 它由4个字节大小的二进制表示
* 每一个字节用一个十进制数字表示(0-255) 数字间用 . 分开
* A类地址 1-127
* B类地址 128-191
* C类地址 192-223
* 通过IP地址可以访问计算机 如果想访问计算机中的某个应用程序 需要指定端口
* 端口号是用两个字节(16位的二进制)表示
* 它的取值范围0-65535
* 其中0-1023的端口号由操作系统的网络服务占用
* 用户的普通应用程序需要使用1024以上的端口
* 避免操作系统服务端口被其他服务占用
*/



* JDBC
* jdbc的全程是java数据库连接 它是一套用于执行SQL语句的javaApi
* 应用程序可通过这套API连接到关系型数据库
* Driver接口是所有JDBC驱动程序必须实现的接口 该接口专门提供给数据库厂商使用
*/
// DriverManager接口用于加载JDBC驱动程序 创建与数据库的连接
// 用于向DriverManager注册给定的JDBC驱动程序
// DriverManager.registerDriver(Driver driver);
// 用于建立和数据库的连接 并返回表示连接的Connection对象
Connection connection = DriverManager.getConnection("url", "user", "pwd");
// Connection接口用于处理与特定数据库的连接
// 创建一个Statement对象将SQL语句发送到数据库
Statement statement = connection.createStatement();
// 创建一个PreparedStatement对象将参数化的SQL语句发送到数据库
PreparedStatement sql = connection.prepareStatement("select * from face.face_lamp");
// 创建一个CallableStatement对象来调用数据库存储过程
CallableStatement callableStatement = connection.prepareCall("insert into face_lamp(id, control_lamp, control_time, lamp_name) VALUES ()");
// Statement接口用于执行静态的SQL语句并返回一个结果对象
// 用于执行各种SQL语句 返回一个boolean类型的值 如果为true 表示所执行的SQL语句有查询结果
// 可以通过Statement的getResultSet方法获得查询结果
boolean execute = statement.execute("select *");
// 执行SQL中的insert update delete语句 返回一个int类型的值
// 表示数据库中受该SQL语句影响的记录条数
int insert_into_ = statement.executeUpdate("insert into face_lamp(id, control_lamp, control_time, lamp_name) values ()");
// 执行SQL中的select语句 返回一个表示查询结果的ResultSet对象
ResultSet resultSet = statement.getResultSet();
// PreparedStatement是Statement的子接口 用于执行预编译的SQL语句
// 在PreparedStatement对象中执行SQL语句 SQL语句必须是一个DML语句或者是无返回内容的SQL语句 如DDL语句
int i = sql.executeUpdate();
// 在PreparedStatement对象中执行SQL语句 返回的是ResultSet对象
ResultSet resultSet1 = sql.executeQuery();
// 将指定参数设置成给定的int值
// sql.setInt(10,2);
// 将指定参数设置成给定的String值
// sql.setString(0,"sd");
// ResultSet接口用于保存JDBC执行查询时返回的结果集 该结果集封装在一个逻辑表格中
// 用于获取指定字段的String类型的值 参数columnIndex代表字段的名称
String das = resultSet.getString
举报 0