A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 枫叶枫 初级黑马   /  2019-1-3 13:03  /  740 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                         JDBC
        概念:Java DataBase Connectivity  Java 数据库连接, Java语言操作数据库
         JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。
        各个数据库厂商去实现这套接口,提供数据库驱动jar包。
        我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
----------------------
jdbc注册:
注册驱动:
Class.forName("com.mysql.jdbc.Driver");
3.获取数据库连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
4.定义sql语句
String sql = "update account set balance = 500 where id = 1";
5.获取执行sql对象
Statement stmt = conn.createStatement();
6.执行sql
int count = stmt.executeUpdate(sql);
7.处理结果
System.out.println(count);
8.释放资源
  stmt.close();
  conn.close();
————————————————————
JDBC对象
----------------------
DriverManager: 驱动管理对象
1.注册驱动:告诉程序该使用哪一个数据库驱动jar
注意:mysql5之后的驱动jar包可以省略注册驱动的步骤。
2.获取数据库连接:DriverManager.getConnection(url,user,pa)
url:指定连接路径
jdbc:mysql://ip地址(域名):端口号/数据库名称
如:jdbc:mysql://localhost:3306/db3(本地地址和端口可以不写用“///”代替)
user:用户名
pa:密码

Connection:数据库连接对象:
1.获取执行sql的对象
Statement createStatement()
2.管理事务
setAutoCommit() :调用该方法设置参数为false,即开启事务
commit() 提交事务
rollback() 回滚事务
Statement:执行sql对象
1.执行sql
boolean execute(String sql) :可以执行任意的sql 了解
int executeUpdate(String sql) :执行DML(insert、update、delete)语句、DDL(create,alter、drop)语句
返回值:判断DML语句是否执行成功 返回值>0的则执行成功,反之,则失败。
ResultSet executeQuery(String sql)  :执行DQL(select)语句
Resultset:结果集对象,封装查询结果
next() 游标向下移动一行
getXxx(参数):
————————————————————————————————————————————————————————
JDBC连接池
---------------------
        概念:其实就是一个容器(集合),存放数据库连接的容器。
        系统初始化好后,容器被创建,容器中会申请一些连接对象,
        当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,
        会将连接对象归还给容器。
好处:
1.节约资源
2.用户访问高效
实现:
标准接口:DataSource   javax.sql包下的
获取连接:getConnection()
归还连接:Connection.close()。
一般我们不去实现它,有数据库厂商来实现
1. C3P0:数据库连接池技术
2. Druid:数据库连接池实现技术,由阿里巴巴提供的
----------------------
C2P0 连接池
定义配置文件:
名称: c3p0.properties 或者 c3p0-config.xml
路径:直接将文件放在src目录下即可。
创建核心对象:
  数据库连接池对象 ComboPooledDataSource()
获取连接: getConnection
Druid 连接池:
导入jar包 druid-1.0.9.jar
定义配置文件:
是properties形式的
可以叫任意名称,可以放在任意目录下
3. 加载配置文件。Properties
4. 获取数据库连接池对象:通过工厂来来获取  DruidDataSourceFactory
5. 获取连接:getConnection
加载Druid连接池:
//3.加载配置文件
Properties pro = new Properties();
InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
//4.获取连接池对象
DataSource ds = DruidDataSourceFactory.createDataSource(pro);
//5.获取连接
  Connection conn = ds.getConnection();
——————————————————
Spring JDBC
------------------
导入jar包
创建JdbcTemplate对象。依赖于数据源DataSource
JdbcTemplate template = new JdbcTemplate(ds);
调用jdbcTemplate的方法来完成CRUD的操作:
update():执行DML语句。增、删、改语句
queryForMap():查询结果将结果集封装为map集合,
*将列名作为key,将值作为value 将这条记录封装为一个map集合
*注意:这个方法查询的结果集长度只能是1
queryForList():查询结果将结果集封装为list集合
* 注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中
query():查询结果,将结果封装为JavaBean对象
* query的参数:RowMapper
* 一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
* new BeanPropertyRowMapper<类型>(类型.class)

queryForObject:查询结果,将结果封装为对象
* 一般用于聚合函数的查询
————————————————————————————————————————————
                                    HTML
web概念概述
      JavaWeb:使用Java语言开发基于互联网的项目
软件架构:
      1. C/S: Client/Server 客户端/服务器端
* 在用户本地有一个客户端程序,在远程有一个服务器端程序
* 如:QQ,迅雷...
       优点:
1. 用户体验好
       缺点:
1. 开发、安装,部署,维护 麻烦
       2. B/S: Browser/Server 浏览器/服务器端
* 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序
       * 优点:
1. 开发、安装,部署,维护 简单
       * 缺点:
1. 如果应用过大,用户的体验可能会受到影响
2. 对硬件要求过高
B/S架构详解
    * 资源分类:
1. 静态资源:
* 使用静态网页开发技术发布的资源。
* 特点:
* 所有用户访问,得到的结果是一样的。
* 如:文本,图片,音频、视频, HTML,CSS,JavaScript
* 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。
    浏览器中内置了静态资源的解析引擎,可以展示静态资源
2. 动态资源:
* 使用动态网页及时发布的资源。
* 特点:
* 所有用户访问,得到的结果可能不一样。
* 如:jsp/servlet,php,asp...
* 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器
注意:
我们要学习动态资源,必须先学习静态资源!
静态资源:
* HTML:用于搭建基础网页,展示页面的内容
* CSS:用于美化页面,布局页面
* JavaScript:控制页面的元素,让页面有一些动态的效果
——————————————————————————
HTML:
    概念:是最基础的网页开发语言Hyper Text Markup Language 超文本标记语言
超文本:
*超文本是用超级链接的方法,将各种不同空间的文字信息组织在一起的网状文本
标记语言:
*有标签构成的语言。<标签名称> 如html,xml
*标记语言不是编辑语言
    语法:
1.后缀名:.html, .htm
2.标签分为:
*围堵标签:有开始标签和结束标签。
  如:<html></html>
*自闭和标签:开始标签和结束标签在一起如<br/>
3.标签可以嵌套:
*需要正确嵌套,不能你中有我,我中有你
*错误:<a><b></a></b>
*正确:<a><b></b></a>
              在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可)引起来
html的标签不区分大小写,但是建议使用小写。
标签学习:
1. 文件标签:构成html最基本的标签
* html:html文档的根标签
* head:头标签。用于指定html文档的一些属性。引入外部的资源
* title:标题标签。
* body:体标签
* <!DOCTYPE html>:html5中定义该文档是html文档
2. 文本标签:和文本有关的标签
* 注释:<!-- 注释内容 -->
* <h1> to <h6>:标题标签
     * h1~h6:字体大小逐渐递减
* <p>:段落标签
* <br>:换行标签
* <hr > :展示一条水平线
   hr中的属性定义:
     * color:颜色
     * width:宽度
     * size:高度
     * align:对其方式
* <b>:字体加粗
* <i>:字体斜体
* <font>:字体标签
* <center>:文本居中
字体标签中定义的属性:
     * color:颜色
     * size:大小
     * face:字体
属性width:
1. 数值:width='20' ,数值的单位,默认是 px(像素)
2. 数值%:占比相对于父元素的比例

图片标签:
<img src="./image/jiangwai_1.jpg">
<img src="../image/jiangwai_1.jpg">
alt=" "  : 定义图片名字,图片加载不出来显示名字
以.开头的路径
  * ./:代表当前目录  ./image/1.jpg
  * ../:代表上一级目录

4. 列表标签:
1. 有序列表:
* ol:
* li:
2. 无序列表:
* ul:
* li:
3.有三种方式
*disc 实心圆
*square 方形
*circle 空心圆
5. 链接标签:
a:定义一个超链接
* 属性:
  href:关联地址,指定访问资源的URL(统一资源定位符)
target:指定关联网页的打开方式
    * target_self:默认值,在当前页面打开
    * target_blank:在空白页面打开
6. div和span:
* div:每一个div占满一整行。块级标签
         * span:文本信息在一行展示,行内标签 内联标签
7. 语义化标签:html5中为了提高程序的可读性,提供了一些标签。
1. <header>:页眉
2. <footer>:页脚
8. 表格标签:
1.table:定义表格
* width:宽度
* border:边框
*:定义内容和单元格的距离
* cellspacing:定义单元格之间的距离。如果指定为0,则单元格的线会合为一条、
* bgcolor:背景色
* align:对齐方式
2. tr:定义行
* bgcolor:背景色
* align:对齐方式20:29 2019/1/221:00 2019/1/221:00 2019/1/2
3.td:定义单元格
    * colspan:合并列
    * rowspan:合并行
4.th:定义表头单元格
5. <caption>:表格标题
6. <thead>:表示表格的头部分
7. <tbody>:表示表格的体部分
8. <tfoot>:表示表格的脚部分
  
   

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马