• Java实现数据库与eclipse的连接


    JavaBean:用于传递数据,拥有与数据相关的逻辑处理

    JSP:从Model接收数据并生成HTML

    Servlet:接收HTTP请求并控制Model和View

    jdbc:用于驱动连接

    一、【建立数据库】

    在mysql中新建一个名为course的数据库,并在其中新建一个course数据表,包含四个字段,ID,classname,classroom,teacher

    二、【新建web项目

    1. eclipse新建一个名为course的Dynamic Web Project

    修改class的默认输出目录为:WebContent/WEB-INF/classes,勾选自动生成web.xml

    2. 将连接mysql的驱动jar包(

    二、【新建web项目

    1. eclipse新建一个名为kechengguanlli的Dynamic Web Project

    修改class的默认输出目录为:WebContent/WEB-INF/classes,勾选自动生成web.xml

    2. 将连接mysql的驱动jar包(mysql-connector-java-5.1.7-bin.jar)copy到WEB-INF下的lib目录下

    3.  新建7个包

    4. 新建类,java类放在对应包中,jsp页面放在WebContent目录下,替换web.xml中内容

    package com.hjf.dao;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.hjf.entity.Course;
    import com.hjf.util.DBUtil;
    
    /**
     * 璇剧▼Dao
     * Dao灞傛搷浣滄暟鎹�
     * @author Hu
     *
     */
    public class CourseDao {
    
        /**
         * 娣诲姞
         * @param course
         * @return
         */
        public boolean add(Course course) {
            String sql = "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
            //鍒涘缓鏁版嵁搴撻摼鎺�
            Connection conn = DBUtil.getConn();
            Statement state = null;
            boolean f = false;
            int a = 0;
            
            try {
                state = conn.createStatement();
                state.executeUpdate(sql);
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                //鍏抽棴杩炴帴
                DBUtil.close(state, conn);
            }
            
            if (a > 0) {
                f = true;
            }
            return f;
        }
    
        /**
         * 鍒犻櫎
         * 
         * @param id
         * @return
         */
        public boolean delete (int id) {
            boolean f = false;
            String sql = "delete from course where id='" + id + "'";
            
            Connection conn = DBUtil.getConn();
            Statement state = null;
            int a = 0;
            
            try {
                state = conn.createStatement();
                a = state.executeUpdate(sql);
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(state, conn);
            }
            
            if (a > 0) {
                f = true;
            }
            return f;
        }
    
        /**
         * 淇�敼
         * @param name
         * @param pass
         */
        public boolean update(Course course) {
            String sql = "update course set name='" + course.getName() + "', teacher='" + course.getTeacher() + "', classroom='" + course.getClassroom()
                + "' where id='" + course.getId() + "'";
            Connection conn = DBUtil.getConn();
            Statement state = null;
            boolean f = false;
            int a = 0;
    
            try {
                state = conn.createStatement();
                a = state.executeUpdate(sql);
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(state, conn);
            }
            
            if (a > 0) {
                f = true;
            }
            return f;
        }
        
        /**
         * 楠岃瘉璇剧▼鍚嶇О鏄�惁鍞�竴
         * true --- 涓嶅敮涓�
         * @param name
         * @return
         */
        public boolean name(String name) {
            boolean flag = false;
            String sql = "select name from course where name = '" + name + "'";
            Connection conn = DBUtil.getConn();
            Statement state = null;
            ResultSet rs = null;
            
            try {
                state = conn.createStatement();
                rs = state.executeQuery(sql);
                while (rs.next()) {
                    flag = true;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(rs, state, conn);
            }
            return flag;
        }
        
        /**
         * 閫氳繃ID寰楀埌璇剧▼淇℃伅
         * @param id
         * @return
         */
        public Course getCourseById(int id) {
            String sql = "select * from course where id ='" + id + "'";
            Connection conn = DBUtil.getConn();
            Statement state = null;
            ResultSet rs = null;
            Course course = null;
            
            try {
                state = conn.createStatement();
                rs = state.executeQuery(sql);
                while (rs.next()) {
                    String name = rs.getString("name");
                    String teacher = rs.getString("teacher");
                    String classroom = rs.getString("classroom");
                    course = new Course(id, name, teacher, classroom);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(rs, state, conn);
            }
            
            return course;
        }
        
        /**
         * 閫氳繃name寰楀埌Course
         * @param name
         * @return
         */
        public Course getCourseByName(String name) {
            String sql = "select * from course where name ='" + name + "'";
            Connection conn = DBUtil.getConn();
            Statement state = null;
            ResultSet rs = null;
            Course course = null;
            
            try {
                state = conn.createStatement();
                rs = state.executeQuery(sql);
                while (rs.next()) {
                    int id = rs.getInt("id");
                    String teacher = rs.getString("teacher");
                    String classroom = rs.getString("classroom");
                    course = new Course(id, name, teacher, classroom);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(rs, state, conn);
            }
            
            return course;
        }
        
        /**
         * 鏌ユ壘
         * @param name
         * @param teacher
         * @param classroom
         * @return
         */
        public List<Course> search(String name, String teacher, String classroom) {
            String sql = "select * from course where ";
            if (name != "") {
                sql += "name like '%" + name + "%'";
            }
            if (teacher != "") {
                sql += "teacher like '%" + teacher + "%'";
            }
            if (classroom != "") {
                sql += "classroom like '%" + classroom + "%'";
            }
            List<Course> list = new ArrayList<>();
            Connection conn = DBUtil.getConn();
            Statement state = null;
            ResultSet rs = null;
    
            try {
                state = conn.createStatement();
                rs = state.executeQuery(sql);
                Course bean = null;
                while (rs.next()) {
                    int id = rs.getInt("id");
                    String name2 = rs.getString("name");
                    String teacher2 = rs.getString("teacher");
                    String classroom2 = rs.getString("classroom");
                    bean = new Course(id, name2, teacher2, classroom2);
                    list.add(bean);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(rs, state, conn);
            }
            
            return list;
        }
        
        /**
         * 鍏ㄩ儴鏁版嵁
         * @param name
         * @param teacher
         * @param classroom
         * @return
         */
        public List<Course> list() {
            String sql = "select * from course";
            List<Course> list = new ArrayList<>();
            Connection conn = DBUtil.getConn();
            Statement state = null;
            ResultSet rs = null;
    
            try {
                state = conn.createStatement();
                rs = state.executeQuery(sql);
                Course bean = null;
                while (rs.next()) {
                    int id = rs.getInt("id");
                    String name2 = rs.getString("name");
                    String teacher2 = rs.getString("teacher");
                    String classroom2 = rs.getString("classroom");
                    bean = new Course(id, name2, teacher2, classroom2);
                    list.add(bean);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                DBUtil.close(rs, state, conn);
            }
            
            return list;
        }
    
    }
    package com.hjf.entity;
    
    public class Course {
    
        private int id;
        private String name;
        private String teacher;
        private String classroom;
        
        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 getTeacher() {
            return teacher;
        }
        public void setTeacher(String teacher) {
            this.teacher = teacher;
        }
        public String getClassroom() {
            return classroom;
        }
        public void setClassroom(String classroom) {
            this.classroom = classroom;
        }
        
        public Course() {}
        
        public Course(int id, String name, String teacher, String classroom) {
            this.id = id;
            this.name = name;
            this.teacher = teacher;
            this.classroom = classroom;
        }
        
        public Course(String name, String teacher, String classroom) {
            this.name = name;
            this.teacher = teacher;
            this.classroom = classroom;
        }
    }
    package com.hjf.service;
    
    import java.util.List;
    
    import com.hjf.dao.CourseDao;
    import com.hjf.entity.Course;
    
    /**
     * CourseService
     * 鏈嶅姟灞�
     * @author Hu
     *
     */
    public class CourseService {
    
        CourseDao cDao = new CourseDao();
        
        /**
         * 娣诲姞
         * @param course
         * @return
         */
        public boolean add(Course course) {
            boolean f = false;
            if(!cDao.name(course.getName())) {
                cDao.add(course);
                f = true;
            }
            return f;
        }
        
        /**
         * 鍒犻櫎
         */
        public void del(int id) {
            cDao.delete(id);
        }
        
        /**
         * 淇�敼
         * @return 
         */
        public void update(Course course) {
            cDao.update(course);
        }
        
        /**
         * 閫氳繃ID寰楀埌涓�涓狢ourse
         * @return 
         */
        public Course getCourseById(int id) {
            return cDao.getCourseById(id);
        }
    
        /**
         * 閫氳繃Name寰楀埌涓�涓狢ourse
         * @return 
         */
        public Course getCourseByName(String name) {
            return cDao.getCourseByName(name);
        }
        
        /**
         * 鏌ユ壘
         * @return 
         */
        public List<Course> search(String name, String teacher, String classroom) {
            return cDao.search(name, teacher, classroom);
        }
        
        /**
         * 鍏ㄩ儴鏁版嵁
         * @return 
         */
        public List<Course> list() {
            return cDao.list();
        }
    }
    package com.hjf.servlet;
    
    import java.io.IOException;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.hjf.entity.Course;
    import com.hjf.service.CourseService;
    
    /**
     * Servlet implementation class CourseServlet
     */
    @WebServlet("/CourseServlet")
    public class CourseServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
        CourseService service = new CourseService();
        /**
         * @see HttpServlet#HttpServlet()
         */
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("utf-8");
            String method = req.getParameter("method");
            
            if ("add".equals(method)) {
                add(req, resp);
            } else if ("del".equals(method)) {
                del(req, resp);
            } else if ("update".equals(method)) {
                update(req, resp);
            } else if ("search".equals(method)) {
                search(req, resp);
            } else if ("getcoursebyid".equals(method)) {
                getCourseById(req, resp);
            } else if ("getcoursebyname".equals(method)) {
                getCourseByName(req, resp);
            } else if ("list".equals(method)) {
                list(req, resp);
            }
        }
    
        /**
         * 添加
         * @param req
         * @param resp
         * @throws IOException 
         * @throws ServletException 
         */
        private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
            req.setCharacterEncoding("utf-8");
            //获取数据
            String name = req.getParameter("name");
            String teacher = req.getParameter("teacher");
            String classroom = req.getParameter("classroom");
            Course course = new Course(name, teacher, classroom);
            
            //添加后消息显示
            if(service.add(course)) {
                req.setAttribute("message", "添加成功");
                req.getRequestDispatcher("add.jsp").forward(req,resp);
            } else {
                req.setAttribute("message", "课程名称重复,请重新录入");
                req.getRequestDispatcher("add.jsp").forward(req,resp);
            }
        }
        
        /**
         * 全部
         * @param req
         * @param resp
         * @throws ServletException 
         */
        private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
            req.setCharacterEncoding("utf-8");
            
            List<Course> courses = service.list();
            req.setAttribute("courses", courses);
            req.getRequestDispatcher("list.jsp").forward(req,resp);
        }
    
        /**
         * 通过ID得到Course
         * @param req
         * @param resp
         * @throws ServletException 
         */
        private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
            req.setCharacterEncoding("utf-8");
            int id = Integer.parseInt(req.getParameter("id"));
            Course course = service.getCourseById(id);
            req.setAttribute("course", course);
            req.getRequestDispatcher("detail2.jsp").forward(req,resp);
        }
    
        /**
         * 通过名字查找
         * 跳转至删除
         * @param req
         * @param resp
         * @throws IOException
         * @throws ServletException 
         */
        private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
            req.setCharacterEncoding("utf-8");
            String name = req.getParameter("name");
            Course course = service.getCourseByName(name);
            if(course == null) {
                req.setAttribute("message", "查无此课程!");
                req.getRequestDispatcher("del.jsp").forward(req,resp);
            } else {
                req.setAttribute("course", course);
                req.getRequestDispatcher("detail.jsp").forward(req,resp);
            }
        }
        
        /**
         * 删除
         * @param req
         * @param resp
         * @throws IOException
         * @throws ServletException 
         */
        private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
            req.setCharacterEncoding("utf-8");
            int id = Integer.parseInt(req.getParameter("id"));
            service.del(id);
            req.setAttribute("message", "删除成功!");
            req.getRequestDispatcher("del.jsp").forward(req,resp);
        }
        
        /**
         * 修改
         * @param req
         * @param resp
         * @throws IOException
         * @throws ServletException 
         */
        private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
            req.setCharacterEncoding("utf-8");
            int id = Integer.parseInt(req.getParameter("id"));
            String name = req.getParameter("name");
            String teacher = req.getParameter("teacher");
            String classroom = req.getParameter("classroom");
            Course course = new Course(id, name, teacher, classroom);
            
            service.update(course);
            req.setAttribute("message", "修改成功");
            req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp);
        }
        
        /**
         * 查找
         * @param req
         * @param resp
         * @throws ServletException 
         */
        private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
            req.setCharacterEncoding("utf-8");
            String name = req.getParameter("name");
            String teacher = req.getParameter("teacher");
            String classroom = req.getParameter("classroom");
            List<Course> courses = service.search(name, teacher, classroom);
            req.setAttribute("courses", courses);
            req.getRequestDispatcher("searchlist.jsp").forward(req,resp);
        }
    }
    package com.hjf.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /**
     * 鏁版嵁搴撹繛鎺ュ伐鍏�
     * @author Hu
     *
     */
    public class DBUtil {
        
        public static String db_url = "jdbc:mysql://localhost:3306/course?useUnicode=true&characterEncoding=utf8";
        public static String db_user = "root";
        public static String db_pass = "123456";
        
        public static Connection getConn () {
            Connection conn = null;
            
            try {
                Class.forName("com.mysql.jdbc.Driver");//鍔犺浇椹卞姩
                conn = DriverManager.getConnection(db_url, db_user, db_pass);
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            return conn;
        }
        
        /**
         * 鍏抽棴杩炴帴
         * @param state
         * @param conn
         */
        public static void close (Statement state, Connection conn) {
            if (state != null) {
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        
        public static void close (ResultSet rs, Statement state, Connection conn) {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            if (state != null) {
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        public static void main(String[] args) throws SQLException {
            Connection conn = getConn();
            PreparedStatement pstmt = null;
            ResultSet rs = null;
            String sql ="select * from course";
            pstmt = conn.prepareStatement(sql);
            rs = pstmt.executeQuery();
            if(rs.next()){
                System.out.println("绌�");
            }else{
                System.out.println("涓嶇┖");
            }
        }
    }
  • 相关阅读:
    蓝桥杯 算法训练 ALGO-57 删除多余括号
    蓝桥杯 算法训练 ALGO-50 数组查找及替换
    蓝桥杯 算法训练 ALGO-60 矩阵乘法
    求最大公约数和最小公倍数的几种方法
    南阳OJ 1170 最大的数
    蓝桥杯 基础练习 BASIC-30 阶乘计算
    蓝桥杯 算法训练 ALGO-108 最大的体积
    蓝桥杯 算法训练 ALGO-114 黑白无常
    蓝桥杯 算法训练 ALGO-93 反置数
    蓝桥杯 算法训练 ALGO-21 装箱问题
  • 原文地址:https://www.cnblogs.com/990906lhc/p/10093860.html
Copyright © 2020-2023  润新知