Java第九周心得体会

1.本周思维导图

2.个人总结

 

JDBC

核心思想

Java中定义了访问数据库的接口,可以为多种关系型数据库提供统一的访问方式

由数据库厂商提供驱动实现类(Driver数据库驱动)

JDBC API

JDBC开发步骤

1.注册驱动

Class.forName("com.mysql.jdbc.Driver");

2.连接数据库

通过DriverManager.getConnection(url,user,password);获得数据库连接对象

  • URL:jdbc:mysql://localhost:3306/database
  • user:root
  • password:1234

3.获取发送SQL的对象

通过Connection对象获得Statement对象,用于对数据库进行通用访问

4.执行SQL语句

编写SQL语句,并执行,接收执行后的结果

在编写DML语句时,一定要注意字符串参数的符号是单引号 '值'

DML语句:增、删、改时,执行的结果是受影响行数(int类型)

DQL语句:查询时,返回的是数据结果集(ResultSet结果集)

5.处理结果

接收并处理操作结果

受影响行数:逻辑判断,方法返回

查询结果集:迭代、依次获取

6.释放资源

遵循先开后关的原则,释放过程中用到的所有资源对象

SQL注入:

为了避免SQL注入的问题,使SQL语句在用户输入数据前,SQL语句已经完成编译,成为了完整的SQL语句,再进行填充数据

PreparedStatement

PreparedStatement接口继承了Statement接口

作用:

1.预编译SQL语句,效率高

​ 2.安全,避免SQL注入

​ 3.可以动态的填充数据,执行多个同构的SQL语句

参数标记

PreparedStatement应用时,SQL字符串的参数都由?符号站位,被称为参数标记。在执行该SQL语句前,要为每个?参数赋值

动态参数

pstmt.setXxx(下标,值); 参数下标是从1开始,为指定占位符下标绑定值

跨平台方案

  • 定义 private static final Properties properties = new Properties();//配置文件集合

  • 定义static{

    ​ //首次使用工具类,触发类加载

    ​ InputStream is = DBUtils.class.getResourceAsStream("路径");//复用本类自带流,读取配置文件

    ​ properties.load(is);//将is流中的配置文件信息,加载到集合中

    ​ Class.forName(properties.getProperty("driver"));

    }

  • 在getConnection方法中。应用properties.getProperty("url");

ORM 实体类(entity):零散数据的载体

DAO(Data Access Object)

日期格式化工具

SimpleDateFormat

 private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

    //字符串转Util
    public static java.util.Date strToUtilDate(String str) {
        try {
            return simpleDateFormat.parse(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    //字符串转sql
    public static java.sql.Date strToSqlDate(String str){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        try {
            java.util.Date date = simpleDateFormat.parse(str);
            return new java.sql.Date(date.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    //util转sql
    public static java.sql.Date utilToSql(java.util.Date date){
        return new java.sql.Date(date.getTime());
    }

连接池

可通过实现DataSource接口,创建自定义连接池

Druid连接池

  • 亚秒级查询
  • 实时数据注入
  • 可扩展的PB级存储
  • 多环境部署
  • 丰富的社区

连接池中获得的Connection是DruidPooledConnection实现类,调用的close()方法不是关闭资源,而是将资源放回池中

.properties 文件配置

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库?useUnicode=true&characterEncoding=utf8
username=root
password=root
#初始化连接
initialSize=10
#最大连接数量
maxActive=30
#最小空闲连接
minIdle=5
#超时等待时间以毫秒为单位
maxWait=5000

三层架构设计

  • 表示层:

    • 命名:xxxVIew

    • 职责:收集用户的数据和需求、展示数据

  • 业务逻辑层

    • 命名:XXXServiceImpl

    • 职责:数据的加工处理、调用Dao组合完成业务实现、控制事务

  • 数据访问层

    • 命名:xxxDaoImpl

    • 职责:向业务层提供数据,将业务层加工处理后的数据同步到数据库

Apache的DbUtils使用

主要包含

  • ResultSetHandler接口:转换类型接口

    • BeanHandler类:实现类,把一条记录转换成对象

    • BeanListHandler类:实现类,把多条记录转换成List集合。

    • ScalarHandler类:实现类,适合获取一行一列的数据。

  • QueryRunner:执行sql语句的类

    • 增、删、改:update();

    • 查询:query();

使用步骤导入JAR包

 

HTML

特点

  • 简易性:超文本标记语言的版本升级采用的超集方式。更加方便灵活
  • 可扩展性:超文本标记语言采取的子类元素的方式,为系统扩展带来保证
  • 平台无关性
  • 通用性:HTML是网络的通用语言,一种简单、通用的标记语言

基本结构

<!-- 文档声明 -->
<!DOCTYPE html>
<html>
    <!--网页的头部 -->
    <head>
        <!--页面的字符集编码 -->
        <meta charset="utf-8" />
        <!-- 页面的标题 -->
        <title>我的页面</title>
    </head>
    <!-- 网页的主题,显示的部分-->
    <body>
        展示的内容
    </body>
</html>

结构标签

<html></html>:根标签
<head> :头标签
    <title></title>页面的标题
</head>
<body>:主体标签:显示网页内容   
</body>

排版标签

注释标签:<!-- 注释 -->

换行标签:<br/>

段落标签:<p>文本文字</p>

​ 特点:段落与段落之间有行高(行间距)自带换行

​ 属性:文本对齐方式 align (left、center 、right)

水平线标签:<hr/>

属性:

​ width:水平线的长度(两种:像素表示。第二种:百分比显示)

​ size:水平线的粗细(避免过粗、一般给个位数:8px)

​ color:水平线的颜色

​ align:水平线的对齐方式(left、center、right)

容器标签

<div></div> : 块级标签,独占一行,自带换行
<span></span> : 行级标签,所有内容都在同一行
   作用:
        <div>主要是结合css做页面分块 布局
        <span>进行友好提示信息的显示

文本格式化标签

		<!--粗体文本-->
		<b>今天天气好</b><br />
		<!--大号字-->
		<big>今天天气好</big><br />
		<!--着重文字-->
		<em>今天天气好</em><br />
		<!--斜体字 物理上把字体倾斜-->
		<i>今天天气好</i><br />
		<!--小号字-->
		<small>今天天气好</small><br />
		<!--定义加重语气-->
		<strong>今天天气好</strong><br />
		<!--下标字-->
		CO<sub>2</sub><br />
		<!--上标字-->
		西厢记<sup>①</sup><br />
		<!--插入字-->
		<ins>今天天气好</ins><br />
		<!--删除字-->
		<del>今天天气好</del>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值