黑马程序员技术交流社区
标题:
java21期
[打印本页]
作者:
pangyu
时间:
2019-1-3 12:40
标题:
java21期
1.多表查询
简单两表查询 不加限定条件 产生笛卡尔积
内连接
隐式
显式
外链接
左外连接
右外连接
子查询
1.jdbc概念
概念 :java database connectivity java 数据库连接 java操作数据库
本质:针对不同版本数据库 存在不同的java代码
所以期望使用统一的java代码 操作所有的关系型数据库
这套代码名字为 jdbc
定义了操作所有关系型数据库的规则(接口):
实现类 实现不同版本数据库 则可以调用不同版本数据库
---------------------------------
jdbc就是官方定义的 一套操作所有关系型数据库的规则 即 接口
各个 数据库厂商 去实现这套接口 提供数据库驱动 jar包
使用这套接口来编程 但真正执行的代码是驱动jar包中的实现类
。
-------------
厂商给出的是自己的实现类
-------------
jdbc 快速入门
导入驱动jar包
复制
点击add as lib
注册驱动
使用class。forname(""); 加载进内存
com.mysql.jdbc.driver
获取数据库连接对象 connnection
DriverManager。 getConnection
jdbc:mysql://localhost:3306/db3 root password
定义sql
string sql = “sql”;
获取执行sql语句的对象 statement
conn。createstatement
执行sql 接受返回结果
stmt。executeupdate(sql),
处理结果
sout count
释放资源
stmt。close
conn。close
----------------------------------
详解各个对象
drivermanager
驱动管理对象
功能 注册驱动
通过查看源码 发现在com.sql.jdbc.Driver中存在静态代码块
mysql 5之后的驱动jar包可以省略注册驱动的步骤
--获取数据库连接
get connection
三个参数
url
user
password
connection
数据库连接对象
connnection。createstatement()
管理shiwu
开启事物
setAutoCommit 设置参数为false 即 开启事物
提交事物commit
回滚事物
rollback
statement
执行sql对象
execute update 是执行dml的
返回值为影响的行数
返回值大于0则执行成功
还会执行ddl
excutequery 执行dql语句的 查询语句
返回resultset
resultset
结果集对象
封装查询结果
next 方法 游标向下移动一行
get 数据类型
prepared statement
statement的子类
-------------------------------
工具类
编写工具类
抽取连接以及关闭
获取连接
使用配置文件
关闭资源
分成两种方法 重写 分别传两个参数以及三个参数
写properties不需要加双引号
使用静态代码块 优先加载 加载一次
利用热点加载驱动 只需要进行一次
private static String user---
static{
properties
pro.load(Nnew file reader)
url = pro.getproperty("url")
}
获取 url
使用类加载器
classname。class。 getclassloader。getresourceasStream(“”)
load 即可
classloader。getresource(文件名);
res。getpath
传递path
---------------------------
sql注入问题
2.jdbc crud操作 增删改查
3.jdbc 管理事务
连接池
概念 其实就是一个存放数据库连接的容器
系统初始化好之后 容器被创建 容器会申请一些连接对象
当用户访问数据时 从容器获取对象
使用完成后 归还
好处:节约资源
高效
datasource javax。sql包下
方法 获取 连接 getConnection
一般由数据库厂商来实现
c3p0 数据库连接池技术
druid 由阿里提供的数据库连接池技术
归还连接 如果连接对象是从连接池获取
那么 connection。close 是归还连接 而不是关闭连接
-----------------------
c3p0连接池使用方法
导入jar包
定义配置文件 定义名称
路径 项目类路径下 放在src目录下即可
datasource db = new compooled datasource();
db。getconnection()
sout conn
--------------------配置信息
数据库连接池最大上限100;
druid连接池使用方法
导入包
配置文件任意位置 任意名字
通过一个工厂类 获取
druid datasource factory。create
getConnection方法获取
--------------
抽取工具类 druid
提供静态代码块 加载配置文件 初始化连接池对象
获取连接方法 通过数据库连接池 获取连接
---------------
jdbc template使用
解决查询问题
Springjdbc 是 由spring 框架提供的 框架对jdbc的简单封装
导入jar包
uodate
queryformap 查询结果 结果集封装为map
queryfor list 封装为list集合
query 查询结果 结果封装为javabean
queryforobject 封装为对象
------------------ -template使用方法
执行DQL
map只会读取出一行
list将每一条记录封装为一个map集合
再将map集合装载到list中
emp对象获取
使用rowmapper《emp》
template.query(sql,row
)
queryforobject 一般来执行某些聚合函数
1.html
cs socket
bs server socket
----------------
资源分类
静态资源 使用一些静态网页开发技术完成开发的资源
看到同样的页面
如文本 图片音频视频等
如果请求的是静态资源 服务器会直接发送 浏览器中存在相对应的结构,可以直接解析
动态资源
使用动态网页技术发布的资源
jsp/servlet,php,asp
请求动态资源 服务器会执行这些动态资源 转换为静态资源再发送给浏览器
静态资源
html标签 搭建基础网页 展示页面内容
css 美化页面
javascript 控制页面元素 出现动态效果
-----------------------------
html
概念 超文本标记语言
超文本 使用超链接方法将各种不同空间文字信息组织在一起的网状文本
标记语言
------------
快速入门
后缀名为html
标签分为
围堵标签:有开始标签和结束标签
自闭和标签 开始标签和结束标签在一起 如 <br/>
标签可以嵌套
需要正确嵌套
属性是由键值对构成 需要用引号引起
不区分大小写
---------------
文件标签
html 文档的根标签
head 头标签 用于去指定html文档的属性 引入外部资源
title 标题标签
body 体标签
《!doctype html》定义文档类型
meta charset 定义字符集 utf-8
------------
文本标签
<!-- 注释--> html的注释
标题 标签
《h1》 标题标签 从大到小 h1最大
《p》 段落标签
《hr》 展示一条水平线0003
《b》字体加粗
《I》斜体
《font》修改字体标签
face 字体
face=“楷体”
color 红绿蓝 三色定义
#值1值2值3 00~FF之间
width 宽度 数值的单位默认是px()像素
数值 % 占比相对于 父元素的比例
《center》包裹的部分 页面居中显示
------------------------
图片标签
图片加载失败会 替换掉
属性 src 指定图片位置
图片存放位置
.3
alt 图片加载不出来 会显示文字
------------------
列表标签
有序列表
ol有序
li 列表项
无序列表
ul
li 列表项
超链接标签
a 定义一个超链接
href=‘连接’
新页面 target=“_self"
target = "_blank"
连接可以写入 本地文件./5_列表标签.html
"mailto:邮箱地址"
-----------------------------------------
span标签 文本信息在一行展示 行内标签 内联标签
div 每个div为一行 进行换行
---------------------
语义化标签
<header>
<footer>
没有任何样式 只是提高可读性
-------------------------------------
表格标签
table
th
tr
td
cellpadding 文字和边缘的间隙距离
cellspacing 双线都编程单线
align 对齐方式
-------------------
caption 表格标题
thead 表格头部分
tbody 表格体部分
tfoot 表格脚部分
colspan 合并列
rowspan 和并行
bgcolor
2.html标签
3.使用标签编写网页
1.form 表单
用于采集用户输入数据 用于和服务器进行交互
使用标签 form
action 提交数据的url(位置)
-------------------
input输入框
type text文本输入框
password 密码输入框
select 下拉框
textarea文本域
label for属性与id属性对应
2.css选择器
3.css盒子模型
‘
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2