html + servlet + jdbc + mysql 实现 CRUD:
1.启动数据库服务器(Oracle | MySQL),建表
mysql : 建表
oracle: 建表 + 序列
mysql 脚本:
CREATE TABLE car
(
id bigint PRIMARY KEY AUTO_INCREMENT,
name varchar(100),
price double,
product_date date
);
2.Open STS - New - Dynamic Web Project - javaweb03(工程名)
3.Copy 数据库的驱动 jar 包,到 工程名/WebContent/WEB-INF/lib 下
mysql : mysql-connector-java-5.1.46.jar : com.mysql.jdbc.Driver
mysql-connector-java-6.0.6.jar : com.mysql.cj.jdbc.Driver
低版本mysql(低于 5.7):
mysql-connector-java-5.1.46.jar : com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/数据库名
高版本mysql(mysql-5.7.18):
mysql-connector-java-6.0.6.jar : com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/数据库名?useSSL=false&serverTimezone=Asia/Shanghai
oracle: ojdbc6.jar
4.新建实体类
右击 src - new - Class - Car.java
5.新建连接数据库和关闭数据库的工具类:
右击 src - jdbc.properties
右击 src - new - Class - DBUtil.java
6.新建 dao
右击 src - new - Class - CarDao.java
add() modify() remove() find() findById()
7.单元测试
9.Servlet
10.html
package com.javaweb.dao;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
/**
* 数据库工具类: 获取数据库连接 | 关闭数据连接
*
* @author SONG
*/
public class DBUtil {
private static Properties properties;
static {
try {
// 把资源文件 jdbc.properties 读取到字节输入流
InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
properties = new Properties();
// 把字节输入流中的内容加载到 properties 对象(名值对)
properties.load(in);
// 根据 properties 对象(名值对)的属性名 driver 获取对应的值(驱动类)
Class.forName(properties.getProperty("driver"));
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 获取数据库连接
*
* @return
*/
public static Connection getConnection() {
Connection conn = null;
String url = properties.getProperty("url");
String username = properties.getProperty("username");
String password = properties.getProperty("password");
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 关闭数据库连接
*
* @param conn
*