JavaWeb案例:实现数据库增删改查功能

JavaWeb案例:实现数据库增删改查功能

一、创建数据库与表

JavaWeb案例:实现数据库增删改查功能_第1张图片

二、创建JavaWeb项目db_demo

1、在WEB-INF里创建lib目录,添加数据库驱动jar包
JavaWeb案例:实现数据库增删改查功能_第2张图片
2、在web目录里创建META-INF子目录,在里面创建数据源配置文件context.xml
JavaWeb案例:实现数据库增删改查功能_第3张图片
3、在src里创建net.wj.dbutil包,在里面创建ConnectionManager类
JavaWeb案例:实现数据库增删改查功能_第4张图片

package net.wj.dbutil;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

/**
 * 功能:数据库连接管理类
 */
public class ConnectionManager {
    /**
     * 私有化构造方法,拒绝实例化
     */
    private ConnectionManager() {
    }

    /**
     * 获取数据库连接静态方法
     * @return
     */
    public static Connection getConnection() {
        //定义数据库连接
        Connection conn = null;
        try {
            //初始化上下文
            Context ctx = new InitialContext();
            DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/stu");
            conn = ds.getConnection();
        } catch (NamingException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        //返回数据库连接
        return conn;
    }

}

用MVC模式来完成db_demo项目,添加学生实体类Student,添加学生数据访问接口StudentDao及其实现类StudnetDaoImpl,然后在topic_list.jsp页面里利用TopicDaoImpl进行数据库的操作。

1、在src里创建net.wj.bean包,在里面创建Student类

JavaWeb案例:实现数据库增删改查功能_第5张图片

package net.wj.bean;

/**
 * 功能:学生实体类
 */
public class Student {
    private int id;
    private String name;
    private String gender;
    private int age;
    private String telephone;
    
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                ", age=" + age +
                ", telephone='" + telephone + '\'' +
                '}';
    }
}

2、在src里创建net.wj.dao包,在里面创建StudentDao类
JavaWeb案例:实现数据库增删改查功能_第6张图片

package net.wj.dao;

import net.wj.bean.Student;
import net.wj.dbutil.ConnectionManager;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 * 功能:访问学生数据类
 */
public class StudentDao {
    /**
     * 查询全部学生
     *
     */
    public List<Student> findAllStudents(){
      //定义学生数组
        List<Student> students = new ArrayList<>();
        //定义数据库连接
        try {
            Connection conn = null;
            //获取数据库连接
            conn = ConnectionManager.getConnection();
            //定义SQL字符串
            String strSQL = "select * from student";
            //创建语句对象
            Statement stmt = conn.createStatement();
            //执行SQL查询,返回结果集
            ResultSet rs = stmt.executeQuery(strSQL);
            while (rs.next()){
                //创建学生实体
                Student student = new Student();
                //利用当前记录的字段值设置栏目实体属性
                student.setId(rs.getInt("id"));
                student.setName(rs.getString("name"));
                student.setGender(rs.getString("gender"));
                student.setAge(rs.getInt("age"));
                student.setTelephone(rs.getString("telephone"));
                students.add(student);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return students;
    } 

}

你可能感兴趣的:(JavaWeb案例:实现数据库增删改查功能)