cgb2108班的笔记|cgb2108-day07
文章目录
-
- 一,改造JDBC释放资源
-
- --1,完善工具类
- --2,修改测试类
- 二,HTML
-
- --1,入门案例
- --2,常用标签
- --3,表格标签
- --4,表单标签
- --5,提交数据
- 作业
-
- 制作表单
一,改造JDBC释放资源 –1,完善工具类
package cn.tedu.jdbc;
import java.sql.*;
//提供丰富的方法,方便的jdbc操作
public class JDBCUtils {//1,获取数据库的连接(注册驱动+获取连接)
/**
* 获取数据库的连接
* @return 数据库的连接对象Connection
* @throws Exception
*/
static public Connection getConnection() throws Exception{//1,注册驱动
Class.forName("com.mysql.jdbc.Driver");
//全路径
//2,获取数据库的连接(用户名/密码)
//jdbc连接mysql数据库的协议//本机:端口号/数据库的名字解决中文乱码指定时区关闭权限检验
String url="jdbc:mysql://localhost:3306/cgb2108?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false" ;
Connection c = DriverManager.getConnection(
url,"root","root");
return c ;
//返回给调用者
}
/**
* 释放资源,提取了长长的代码
* @param r 结果集资源
* @param s 传输器资源
* @param c 连接资源
*/
static public void close(ResultSet r, PreparedStatement s,Connection c){if(r != null){
//避免了空指针异常
try {r.close();
} catch (SQLException throwables) {throwables.printStackTrace();
}
}
if(s != null) {try {s.close();
} catch (SQLException throwables) {throwables.printStackTrace();
}
}
if(c != null) {try {c.close();
} catch (SQLException throwables) {throwables.printStackTrace();
}
}
}}
–2,修改测试类
package cn.tedu.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//JDBC的练习
public class Test3 {public static void main(String[] args) throws Exception{method();
//查询部门表的<100数据
//method2();
//向dept表里插入数据
}
//向dept表里插入数据
//为了资源一定会被释放?
// 把释放资源的代码放入finally里+扩大变量的作用范围
// +在try里修改变量的默认值null+在finally里进行try catch
private static void method2(){//扩大变量的作用范围?因为想让finally也使用
Connection c = null ;
PreparedStatement p = null;
try{c = JDBCUtils.getConnection();
//插入数据时怎么决定要几个问号? 要看表里有几个字段需要设置值
String sql = "insert into dept values(?,?,?)" ;
p = c.prepareStatement(sql);
//设置SQL的参数
p.setObject(1,666);
p.setObject(2,"软件测试部");
p.setObject(3,"大山西");
//执行SQL
int rows = p.executeUpdate();
//执行增删改的SQL
//TODO 会返回结果集吗?返回了的是啥?
System.out.println("影响的行数是: "+rows);
}catch (Exception e){System.out.println("出错啦~");
}finally {
//资源的释放是一定要执行的
//调用工具类里的close(),增删改没有结果集,就不关闭结果集了,传入null就行了
JDBCUtils.close(null,p,c);
}
}
//查询部门表的<100数据
private static void method() {Connection c =null;
PreparedStatement s =null;
ResultSet r =null;
try{c = JDBCUtils.getConnection();
//利用工具类,获取数据库的连接
//获取传输器,执行SQL骨架
String sql = "select * from dept where deptno < ?";
s = c.prepareStatement(sql);
//设置SQL的参数
s.setInt(1,100);
//给第一个?设置100
r = s.executeQuery();
//执行查询的SQL语句
//处理结果集
while(r.next()){
//next()判断有数据吗
//获取数据getXxx()--获取表里的dname字段的值,并打印
String str = r.getString("dname");
System.out.println(str);
}
}catch (Exception e){//项目上线阶段,给出的解决方案,比如输出
System.out.println("数据库连接出错~~");
//项目开发调试阶段,给出的解决方案,根据报错信息
e.printStackTrace();
}finally {
//关闭资源
JDBCUtils.close(r,s,c);
//调用工具类里的close()
}
}
}
二,HTML –1,入门案例
这是测试文件 - 锐客网
你好 html~
你好 html~
你好 ht
ml~
–2,常用标签
测试 常用标签 - 锐客网
1号标题
2号标题
3号标题
4号标题
5号标题
6号标题
- 直击山西水灾:住房地基塌陷
- 经济日报解读美团垄断案
- 直击山西水灾:住房地基塌陷
- 经济日报解读美团垄断案
文章图片
文章图片
百度一下
文章图片
我是顶部
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
北京富婆通讯录
点击,回到顶部 普通的输入框:
密码输入框:
数字输入框:
年月日输入框:
周输入框:
按钮:
提交按钮:把前端页面输入的数据提交给后端java程序处理
单选:男
多选:杨幂
迪丽热巴
Anglelababa
–3,表格标签
测试 表格表单标签 - 锐客网
11
13
21
22
23
31
32
流量调查表
总页面流量
共计来访
会员
游客
21
22
23
24
31
32
33
34
41
42
43
44
平均每人浏览
1.58
–4,表单标签
测试 表单标签 - 锐客网
–5,提交数据
测试 表单标签 - 锐客网
作业 制作表单
【cgb2108班的笔记|cgb2108-day07】
文章图片
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量