目录
项目的创建和配置
新建一个Maven项目,选中archetype-webapp模板
见名知意
这里路径检查路径有没有问题,确定是自己Maven本地的仓库
项目存放的目录
项目创建完成之后右下角点击Enable Auto-Import让它自动导入即可
在main下新建一个文件夹起名java
设置一下做为Sources Root
再创建一个resources文件夹做为Resources Root
Java下一般会建这么几个包,先建着,后面不用删掉就行
因为是Web项目是连接数据库的,先把准备工作做好把需要的依赖导入pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
右上角Add Configuration添加tomcat
如果是第一次用tomcat的话先在Configure...检查一下目录设置的对不对
在Deployment下右边这个加号添加项目
设置好好右下角点击Apply申请即可
之后运行项目的话点击右上角这个即可
包的介绍
controller
Controler负责请求转发,接受页面过来的参数,像一般的Servlet类都放在这里
dal(持久层)
主要是为了实现一些具体对数据库操作的代码
DBUtil
这个里面放的是JDBC工具类,顾名思义就是Java已经写好的对数据库连接进行一系列操作的类,直接拿出来用即可
filter
里面放拦截器
idal
存放接口类,定义一些接口规范
model
存放自己定义的一系列的对象
resources
里面存放一些配置文件
webapp
写的前端网页放这里面
JavaWeb连接数据库(JDBC)
在resources下创建配置文件config.properties,这个是连接数据库的相关文件
config.properties
# 第一行是数据库连接驱动
driverClassName=com.mysql.cj.jdbc.Driver
# 第二行是数据库连接地址
url=jdbc:mysql://localhost:3306/mytestdb
# 第三行是数据库连接用户名
username=root
# 第四行是数据库连接密码
password=root
在DBUtil下创建相关的工具类,这个是写好的,直接复制粘贴就行
注意如果爆红的话记得包名正确与否
DBUtil类
package com.info.DBUtil;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DBUtil {
//数据库连接驱动
private static String driver;
//数据库连接地址
private static String url;
//数据库用户名
private static String username;
//数据库用户密码
private static String password;
//static代码,做数据库配置信息初始化工作
static {
//新建一个配置信息对象
Properties prop =new Properties();
try {
//通过配置对象去加载我们资源目录里的数据库配置文件
prop.load(DBUtil.class.getClassLoader().getResourceAsStream("config.properties"));
} catch (IOException e) {
e.printStackTrace();
}
//获取配置文件中的配置信息
driver = prop.getProperty("driverClassName");
url = prop.getProperty("url");
username = prop.getProperty("username");
password = prop.getProperty("password");
try {
//类加载MySQL驱动类
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//添加数据库连接方法,Open()
public static Connection Open(){
//新建数据库连接对象 conn
Connection conn =null;
try {
//通过驱动管理器,调用getConnection方法,尝试连接MySQL
conn=(Connection) DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
SQLHelper类
package com.info.DBUtility;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public abstract class SQLHelper
{
public static Connection conn = DBUtil.Open();
public static PreparedStatement pstmt;
public static ResultSet ExecuteReader(String sqlString, Object[] param)
throws SQLException
{
pstmt = conn.prepareStatement(sqlString);
if (param != null)
{
for (int i = 0; i < param.length; i++)
{
pstmt.setObject(i + 1, param[i]);
}
}
ResultSet rs = pstmt.executeQuery();
return rs;
}
public static int ExecuteUpdate(String sqlString, Object[] param)
throws SQLException
{
pstmt = conn.prepareStatement(sqlString);
if (param != null)
{
for (int i = 0; i < param.length; i++)
{
pstmt.setObject(i + 1, param[i]);
}
}
int i = pstmt.executeUpdate();
return i;
}
}