黑马程序员技术交流社区

标题: 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