数据库
MySQL数据库
MySQL数据库安装和下载jdbc驱动
navicat连接MySQL
JDBC入门
什么是 JDBC
JDBC 规范定义接口,具体的实现由各大数据库厂商来实现
使用JDBC的好处:
- 程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
- 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库
核心API和导入驱动Jar包
Statement接口
ResultSet接口
PreparedSatement接口
PreparedStatement:执行sql的对象
* SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
1. 输入用户随便,输入密码:a' or 'a' = 'a
2. sql:select * from user where username = 'fhdsjkf' and password = 'a' or 'a' = 'a'
* 解决sql注入问题:使用PreparedStatement对象来解决(内部处理了注入问题,不要问为什么😂)
3. 预编译的SQL:参数使用?作为占位符
4. 步骤:
- 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
- 注册驱动
- 获取数据库连接对象 Connection
- 定义sql
* 注意:sql的参数使用?作为占位符。 如:select * from user where username = ? and password = ?;
5. 获取执行sql语句的对象 PreparedStatement Connection.prepareStatement(String sql)
6. 给?赋值:
* 方法: setXxx(参数1,参数2)
* 参数1:?的位置编号 从1 开始
* 参数2:?的值
7. 执行sql,接受返回结果,不需要传递sql语句
8. 处理结果
9. 释放资源
* 注意:后期都会使用PreparedStatement来完成增删改查的所有操作
1. 可以防止SQL注入
2. 效率更高
JDBC事务的处理
Demo
数据库连接池
C3P0:数据库连接池技术(不推荐)
* 步骤:
1. 导入jar包 (两个) c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar ,
* 不要忘记导入数据库驱动jar包
2. 定义配置文件:
* 名称: c3p0.properties 或者 c3p0-config.xml
* 路径:直接将文件放在src目录下即可。
3. 创建核心对象 数据库连接池对象 ComboPooledDataSource
4. 获取连接: getConnection
* 代码:
//1.创建数据库连接池对象
DataSource ds = new ComboPooledDataSource();
//2. 获取连接对象
Connection conn = ds.getConnection();
Druid:数据库连接池实现技术,由阿里巴巴提供的(推荐)
官方下载地址:repo1.maven.org/maven2/com/…
* 步骤:
1. 导入jar包 druid-1.0.9.jar
2. 定义配置文件:
* 是properties形式的
* 可以叫任意名称,可以放在任意目录下
3. 加载配置文件。Properties
4. 获取数据库连接池对象:通过工厂来来获取 DruidDataSourceFactory
5. 获取连接:getConnection
* 代码:
//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();
* 定义工具类
1. 定义一个类 JDBCUtils
2. 提供静态代码块加载配置文件,初始化连接池对象
3. 提供方法
- 获取连接方法:通过数据库连接池获取连接
- 释放资源
- 获取连接池的方法
Druid工具类JDBCUtils
JDBCTemplate
注意:最新的版本6.0.9需要JDK17+,版本5.3.0兼容JDK8
Demo
前端
- 不要写多余的元素,特别是div之类的
HTML标签
* JavaWeb:
使用Java语言开发基于互联网的项目
* 软件架构:
1. C/S: Client/Server 客户端/服务器端
2. B/S: Browser/Server 浏览器/服务器端
* B/S架构详解
资源分类:
1. 静态资源:
2. 动态资源:
- 动态资源必须在web容器(即web服务器软件)中才能被用户通过URL访问
1. 文件标签:构成html最基本的标签
2. 文本标签:和文本有关的标签
3. 图片标签:
4. 列表标签:
5. 链接标签:
6. div和span:
7. 语义化标签:html5中为了提高程序的可读性,提供了一些标签。
8. 表格标签:
from表单的用法
表单项中的数据要想被提交:必须指定其name属性
CSS
JavaScript基础:
DOM、BOM
bootstrap
tomcat、web相关概念、Servlet入门
下载地址:tomcat.apache.org/download-80…
启动命令:./startup.sh
启动报错:-bash: ./startup.sh: Permission denied的解决方案- 原因:在Linux中,第一次启动一个新的tomcat,用户没有权限,而导致无法执行。用命令chmod 修改一下bin目录下的.sh权限就可以了
- 解决方案:在bin目录下输入:
//u 这里指文件所有者,+x 添加可执行权限,*.sh表示所有的sh文件
chmod u+x *.sh