• 实现javaWeb对数据库的增删改查-MVC开发思想-骨架介绍


    1.原理图

    2.Model层的设计

     2.1 数据库工具类JdbcUtils.java

     主要作用:获取Connection,以及关闭Connection

    代码骨架如下:

    public class JdbcUtils {
        /**
         * 因为使用C3P0数据库连接池,不用关闭Statement与ResultSet,但是Connection需要关闭
         * 关闭Connection
         * @param connection
         */
        public static void releaseConnection( Connection connection ) {
        }
        /**
         * 获取数据源的一个Connection对象
         * @return Connection
         * @throws SQLException 
         */
        public static Connection getConnection() throws SQLException {
            return null;
        }
    }
     
    
    2.2数据访问对象DAO.java
    主要作用,封装了利用JdbcUtils.java进行数据库的增删改查
    
    骨架如下:
    
    package com.njupt.javaweb.dao;
     
    import java.util.List;
     
     
    /**
     * 
    * 项目名称:javaWebMVCProject 
    * 类名称:DAO 
    * 类描述: 封装了基本的数据库增删改查(CRUD)的方法
    *         当前DAO无事务处理,直接在方法内过去连接
     */
    public class DAO<T> {
        //因为用到反射需要T的class类
        @SuppressWarnings("unused")
        private Class<T> clazz; 
        private QueryRunner queryRunner = new QueryRunner();
        /**
         * 获取数据库查询后的某一个字段的值,单行单列。例如获取Name字段的值,或者Count(*)记录的条数
         * @param sql 用于执行的sql语句
         * @param args 填充SQL语句的占位符
         * @return 单行单列的值
         */
        public <E> E getForValue( String sql , Object ... args ) {
            return null;
        }
        /**
         * 获取由一组T的对象构成的List
         * @param sql 用于执行的sql语句
         * @param args 填充SQL语句的占位符
         * @return T的对象构成的List
         */
        public List<T> getForList( String sql , Object ... args ){
            return null;
        }
        /**
          * 获取T的实体类对象,该对象与数据库的记录相一致
          * 因为用到反射需要T的class类
         * @param sql 用于执行的sql语句
         * @param args 填充SQL语句的占位符
         * @return T的实体类对象
         */
        public T get( String sql , Object ... args ) {
            return null;
        }
        /**
         * 该方法封装了,INSERT,DELETE,UPDATE相关的数据库操作
         * @param sql 用于执行的sql语句
         * @param args 填充SQL语句的占位符
         */
        public void update( String sql , Object ... args ) {
            
        }
     

    2.3数据库实体类Customer.java

    public class Customer {
        //属性名与数据库字段一一对应
        private int id;
        private String name;
        private String address;
        private String phone;
        //getter 与setter 方法
        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 getAddress() {
            return address;
        }
        public void setAddress(String address) {
            this.address = address;
        }
        public String getPhone() {
            return phone;
        }
        public void setPhone(String phone) {
            this.phone = phone;
        }
        //带参构造器
        public Customer(int id, String name, String address, String phone) {
            super();
            this.id = id;
            this.name = name;
            this.address = address;
            this.phone = phone;
        }
        //无参构造器
        public Customer() {}
        //重写toString方法
        @Override
        public String toString() {
            return "Customer [id=" + id + ", name=" + name + ", address=" + address + ", phone=" + phone + "]";
        }
        
     

    2.4业务接口CustomerDAO.java

    主要作用:定义了实现业务功能相关的方法,用于给业务类实现该接口

    public class CustomerDAOJdbcImp extends DAO<Customer> implements CustomerDAO{
     
        @Override
        public List<Customer> getAll() {
            // TODO Auto-generated method stub
            return null;
        }
     
        @Override
        public void save(Customer customer) {
            // TODO Auto-generated method stub
            
        }
     
        @Override
        public Customer get(int id) {
            // TODO Auto-generated method stub
            return null;
        }
     
        @Override
        public void delete(int id) {
            // TODO Auto-generated method stub
            
        }
     
        @Override
        public long getCountSameWithName(String name) {
            // TODO Auto-generated method stub
            return 0;
        }
     
    }
     
    
    2.5业务类CustomerDAOJdbcImp .java
    继承DAO方法,实现业务接口的方法,以便提供给Servlet调用
    
    package com.njupt.javaweb.bussimp;
     
    import java.util.List;
     
    import com.njupt.javaweb.business.Customer;
    import com.njupt.javaweb.dao.CustomerDAO;
    import com.njupt.javaweb.dao.DAO;
     
    public class CustomerDAOJdbcImp extends DAO<Customer> implements CustomerDAO{
     
        @Override
        public List<Customer> getAll() {
            // TODO Auto-generated method stub
            return null;
        }
     
        @Override
        public void save(Customer customer) {
            // TODO Auto-generated method stub
            
        }
     
        @Override
        public Customer get(int id) {
            // TODO Auto-generated method stub
            return null;
        }
     
        @Override
        public void delete(int id) {
            // TODO Auto-generated method stub
            
        }
     
        @Override
        public long getCountSameWithName(String name) {
            // TODO Auto-generated method stub
            return 0;
        }
     
  • 相关阅读:
    Flex 布局:语法
    Sublime Text常用快捷键
    WebStorm快捷键操作
    获取token
    Oracle杂记
    YKT文件解析
    杂记_ 关键字
    Python Web 性能和压力测试 multi-mechanize
    详细介绍windows下使用python pylot进行网站压力测试
    python文件和目录操作方法大全
  • 原文地址:https://www.cnblogs.com/www-tty-com/p/13679692.html
Copyright © 2020-2023  润新知