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

  • 1.原理图

  • 2.Model层的设计

  •     2.1 数据库工具类JdbcUtils.java

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

代码骨架如下:

package com.njupt.javaweb.db;

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

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

主要作用,将自己的属性与数据库的字段一一对应,以便将每条数据库数据转成其对象

框架如下:

package com.njupt.javaweb.business;
/**
 * 
* 项目名称:javaWebMVCProject 
* 类名称:Customer 
* 类描述: 用于对接数据库记录的实体类
 */
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

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

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;
	}

}
  • 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;
	}

}

猜你喜欢

转载自blog.csdn.net/qq_23937341/article/details/81436278
今日推荐