MVC(ModelViewController)是一种软件设计模式,它将应用程序分为三个互相交互的部分:模型(Model)、视图(View)和控制器(Controller),这种设计模式有助于将业务逻辑、数据和用户界面分离,使得代码更加模块化、易于维护和扩展。

成都创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为琼山企业提供专业的成都做网站、成都网站设计、成都外贸网站建设,琼山网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
Oracle是一款关系型数据库管理系统,具有高性能、高可用性和高安全性等特点,在Web应用中,我们通常使用Oracle数据库来存储和管理数据。
1、环境准备
我们需要准备以下环境:
操作系统:Windows 7或更高版本、Linux或Unix
开发工具:Eclipse或IntelliJ IDEA
服务器:Tomcat 7或更高版本
数据库:Oracle 11g或更高版本
JDBC驱动:ojdbc6.jar(Oracle官方提供的JDBC驱动)
2、创建项目
在Eclipse或IntelliJ IDEA中创建一个Java Web项目,并添加以下依赖:
Servlet API
JSP API
JavaServer Pages Standard Tag Library(JSTL)
ojdbc6.jar(将ojdbc6.jar复制到项目的lib目录下)
3、配置web.xml
在项目的WEBINF目录下创建一个名为web.xml的文件,并添加以下内容:
MyServlet com.example.MyServlet MyServlet /myServlet
标签的值为自定义的Servlet类名,我们将创建一个名为MyServlet的Servlet类。
4、创建数据库连接池
为了提高性能,我们可以使用数据库连接池来管理数据库连接,这里我们使用Apache Commons DBCP库来实现数据库连接池,将commonsdbcp1.4.jar和commonspool1.6.jar复制到项目的lib目录下,创建一个名为DBConnectionPool的类,并添加以下代码:
import org.apache.commons.dbcp2.BasicDataSource;
import java.sql.Connection;
import java.sql.SQLException;
public class DBConnectionPool {
private static BasicDataSource dataSource = new BasicDataSource();
static {
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:orcl");
dataSource.setUsername("username");
dataSource.setPassword("password");
dataSource.setInitialSize(5);
dataSource.setMaxTotal(10);
dataSource.setMinIdle(2);
dataSource.setMaxIdle(5);
}
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
}
5、创建实体类和DAO层接口及实现类
实体类用于表示数据库中的表结构,DAO层负责与数据库进行交互,创建一个名为User的实体类:
public class User {
private int id;
private String name;
private String email;
// getter和setter方法省略...
}
创建一个名为UserDao的接口:
import java.sql.*;
import java.util.List;
public interface UserDao {
List findAll(); // 查询所有用户
User findById(int id); // 根据ID查询用户
void addUser(User user); // 添加用户
void updateUser(User user); // 更新用户信息
void deleteUser(int id); // 删除用户
}
接下来,创建一个名为UserDaoImpl的实现类:
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class UserDaoImpl implements UserDao {
private static final String SQL_FIND_ALL = "SELECT * FROM users"; // 查询所有用户的SQL语句,根据实际情况修改表名和字段名即可,其他SQL语句类似。
private static final String SQL_FIND_BY_ID = "SELECT * FROM users WHERE id = ?";
private static final String SQL_ADD_USER = "INSERT INTO users (name, email) VALUES (?, ?)";
private static final String SQL_UPDATE_USER = "UPDATE users SET name = ?, email = ? WHERE id = ?";
private static final String SQL_DELETE_USER = "DELETE FROM users WHERE id = ?";
// 获取数据库连接的方法
public List findAll() {
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
Users users = new Users();
try {
connection = DBConnectionPool.getConnection();
preparedStatement = connection.prepareStatement(SQL_FIND_ALL);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setEmail(resultSet.getString("email"));
users.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
} finally { // 关闭资源 }
return users; // 返回查询结果
}
// 其他方法类似,省略...
}
```