JavaEE的三层架构
第一步:搭建项目环境
项目基本框架:
分层的目的是为了解耦。解耦就是为了降低代码的耦合度。方便项目后期的维护和升级。
-
测试包
com.ftn.test/junit -
工具类
com.atguigu.utils -
实体bean对象
com.ftn.pojo/entity/domain/bean: JavaBean类 -
dao持久层
com.ftn.dao: Dao接口包
com.ftn.daoImpl: Dao接口实现类 -
service层
com.ftn.service: Service接口包
com.ftn.serviceImpl: Service接口实现类 -
web层
com.ftn.web: 实现功能的servlet类
第二步:创建数据库和t_user用户表
第三步:编写数据库表对应的JavaBean对象
package com.ftn.pojo;
public class User {
private Integer id;
private String username;
private String password;
private String email;
public User() {
}
public User(Integer id, String username, String password, String email) {
this.id = id;
this.username = username;
this.password = password;
this.email = email;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", email='" + email + '\'' +
'}';
}
}
第四步:编写工具类 JdbcUtils
将获取数据库的连接以及关闭数据库的连接(放回数据库连接池)操作封装为一个工具类
(在这里有一个需要注意的点:druid的配置文件druid.proerties需要放置在resource文件夹中,不然无法读取到它)
package com.ftn.utils;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
public class JdbcUtils {
private static DataSource dataSource;
static {
Properties properties = new Properties();
try {
InputStream resourceAsStream = JdbcUtils.class.getClassLoader().getResourceAsStream("druid.properties");
properties.load