我是靠谱客的博主 迷人咖啡,最近开发中收集的这篇文章主要介绍实现javaWeb对数据库的增删改查-MVC开发思想-骨架介绍1.原理图2.Model层的设计,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
-
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;
}
}
最后
以上就是迷人咖啡为你收集整理的实现javaWeb对数据库的增删改查-MVC开发思想-骨架介绍1.原理图2.Model层的设计的全部内容,希望文章能够帮你解决实现javaWeb对数据库的增删改查-MVC开发思想-骨架介绍1.原理图2.Model层的设计所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复