JavaWeb-江河计划

Tomcat组成、架构与配置部署

bin,可执行文件
conf,配置文件
lib,tomcat依赖库
logs,日志
temp,临时文件夹
webapps,默认的应用部署目录
work,供web应用使用

JVM启动参数配置?

环境变量JAVA_OPTS
-server -Xms512m -Xmx512m

如果需要一直生效,就把JAVA_OPTS="-server -Xms512m -Xmx512m"写入 ~/.bashrc文件中
视频
在这里插入图片描述
在这里插入图片描述
访问日志:
在这里插入图片描述

JDBC基础(上)

JDBC
TO 【数据库厂商】:一套标准接口规范。
TO 【JAVA程序员】:也是一套标准接口。
所以,它就是一套接口规范。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
获取行
获取列
JDBC API总图

示例代码:

import java.sql.*;

public class HelloJDBC {
    
    private static String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    private static String DB_URL = "jdbc:mysql://39.108.238.110:3306/cloudhos";//39.108.238.110
    private static String USER = "cloudhos";
    private static String PASSWORD = "cloudhos123#@!";

    public static void main(String[] args) throws ClassNotFoundException {
        Connection conn = null;
        Statement stat = null;
        ResultSet resultSet = null;
        //1.装载数据库驱动
        Class<?> clazz = Class.forName(JDBC_DRIVER);
        try {
            //2.获取connection
            conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);
            //3.connection -> statement
            stat = conn.createStatement();
            //4.statement -> resultSet
            resultSet = stat.executeQuery("select * from user");
            while(resultSet.next()){
                System.out.println("Hello!" + resultSet.getString("mbl_no"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if(conn != null) {
                    conn.close();
                }
                if(stat != null){
                    stat.close();
                }
                if(resultSet != null){
                    resultSet.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

在这里插入图片描述

JDBC进阶
游标(1)
在这里插入图片描述
在这里插入图片描述

代码:

import java.sql.*;

public class HelloJDBC2 {
    
    private static String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    private static String DB_URL = "jdbc:mysql://39.108.238.110:3306/cloudhos";//39.108.238.110
    private static String USER = "cloudhos";
    private static String PASSWORD = "cloudhos123#@!";

    public static void main(String[] args) throws ClassNotFoundException {
        Connection conn = null;
        PreparedStatement stat = null;
        ResultSet resultSet = null;
        //1.装载数据库驱动
        Class<?> clazz = Class.forName(JDBC_DRIVER);
        try {
            //2.获取connection
            conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);
            //3.connection -> statement
            stat = conn.prepareStatement("select * from user where usr_sts = ?");
            stat.setFetchSize(10);
            stat.setString(1,"1");
            //4.statement -> resultSet
            resultSet = stat.executeQuery();

            int i = 1;
            while(resultSet.next()){
                System.out.println("Hello! ["+i+"]  " + resultSet.getString("mbl_no"));
                i++;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(conn != null) {
                    conn.close();
                }
                if(stat != null){
                    stat.close();
                }
                if(resultSet != null){
                    resultSet.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

大字段(2)
通过流的方式处理
在这里插入图片描述
海量记录处理(3)
在这里插入图片描述
代码:
在这里插入图片描述
中文乱码(4):
在这里插入图片描述
在这里插入图片描述

数据池链接

建立连接开销很大
在这里插入图片描述
在这里插入图片描述
连接池
在这里插入图片描述
当 连接 > DB[最大连接数限制]
Too many connections!!!
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
3个包都是必须,缺一不可!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

应用程序线程(Thread)> 最大连接数
Thread进入wait队列,当队列满时,抛异常!
在这里插入图片描述
initialSize:初始化连接数:默认值 0
maxTotal:同一时刻可分配最大连接数:默认值 8 ,设置为负数时不做限制
maxIdle:最大空闲连接,默认值 8 ,超出连接将被释放
minIdle:最小空闲连接数,默认值 0
maxWaitMillis:请求连接最大等待时间(毫秒),默认值 无限期 ,超出时间将抛出异常

推荐
minIdle == maxIdle

在这里插入图片描述

死锁分析与解决

示例
在这里插入图片描述
出现死锁!!!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MyBatis入门
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码:
省略…

MyBatis进阶

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Spring JDBC(上)

视频
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Spring JDBC

在这里插入图片描述
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值