servlet的dao层如何写

发布时间:2020-09-16 11:19:33 作者:小新
来源:亿速云 阅读:365

这篇文章主要介绍servlet的dao层如何写,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

dao层:dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查。

servlet的dao层如何写

Dao层
先声明一个接口类,类里声明一些将会用的方法,
同一层内写一个实现这个接口类的类,重写接口类里的方法

以实现Mybatis的写法
方法主要是处理数据的方法;

public interface IStuClassDao {
    //全表查询方法
    public List findAllStuClassInfo();
    //classID查询
    public Map<String, Object> findStuClassById(int classId) ;
    //增加方法
    public void addStuClassById(Stuclass sc) ;
    //更新方法
    public void updateStuClassById(Stuclass sc) ;
    //查询方法
    public String findClassNamesByIds(String ids);
}

以对于user的操作为例进行说明:

未实现Mybatis的写法

AnimalDAO:

package DAO;


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


import util.JDBCUtil;
import entry.Animal;
/**
 * 对数据库进行操作
 * @author dell-
 *
 */
public class AnimalDAO {


	//添加动物信息
	public void addAnimal(Animal animal){
		//1建立连接
		Connection conn= JDBCUtil.getConnection();
		//2创建sql语句
		String sql = "insert into animal (aid,aname,atime)values(?,?,?)";
		//3创建sql执行对象
		PreparedStatement ps =null;
		try {
			ps=conn.prepareStatement(sql);
			ps.setInt(1, animal.getAid());
			ps.setString(2, animal.getAname());
			ps.setDate(3, new java.sql.Date(animal.getAtime().getTime()));
			ps.executeUpdate();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
		JDBCUtil.release(null,ps,conn);
		}
	}
	//查询所有信息
	public List<Animal> getAll(){
		List<Animal> list = new ArrayList<Animal>();
		//1连接数据库
		Connection conn = JDBCUtil.getConnection();
		//2拼装sql
		String sql="select * from animal";
		//3创建sql执行对象
		PreparedStatement ps =null;
		ResultSet rs = null;
		try {
			ps = conn.prepareStatement(sql);
			rs=ps.executeQuery();
			while(rs.next()){
				Animal animal = new Animal();
				animal.setAid(rs.getInt("aid"));
				animal.setAname(rs.getString("aname"));
				animal.setAtime(rs.getDate("atime"));
				list.add(animal);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			JDBCUtil.release(rs, ps, conn);
		}

		return list;
	}
	//通过aid 删除动物信息
	public void deleteAnimal(int aid){
		//1建立数据库连接
		Connection conn = JDBCUtil.getConnection();
		//2拼装sql
		String sql = "delete from animal where aid=?";
		//3创建sql执行对象
		PreparedStatement ps =null;
		try {
		ps = conn.prepareStatement(sql);
		ps.setInt(1, aid);
		ps.executeUpdate();
		} catch (SQLException e) {
		e.printStackTrace();
		}finally{
		JDBCUtil.release(null, ps, conn);
		}
		}
		//通过aid修改动物信息
		public void updateAnimal(Animal animal){
			//1建立连接
			Connection conn = JDBCUtil.getConnection();
			//2拼装sql
			String sql = "update animal set aname=?,atime=? where aid=?";
			//3创建sql执行对象
			PreparedStatement ps = null;
		try {
			ps = conn.prepareStatement(sql);
			ps.setString(1, animal.getAname());
			ps.setDate(2, new java.sql.Date(animal.getAtime().getTime()));
			ps.setInt(3, animal.getAid());
			ps.executeUpdate();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			JDBCUtil.release(null, ps, conn);
		}
	}
	public Animal getAnimalByid(int aid){
		//1链接数据库
		Connection conn= JDBCUtil.getConnection();
		//2创建sql语句
		String sql = "select * from animal where aid=?";
		//3创建sql执行对象
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			ps = conn.prepareStatement(sql);
			ps.setInt(1, aid);
			rs = ps.executeQuery();
			if(rs.next()){
				Animal animal = new Animal();
				animal.setAid(rs.getInt("aid"));
				animal.setAname(rs.getString("aname"));
				animal.setAtime(rs.getDate("atime"));
				return animal;
			}
		} catch (SQLException e) {
		// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			JDBCUtil.release(rs, ps, conn);
		}
		return null;
	}
}

以上是servlet的dao层如何写的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. javaweb业务层应该如何写
  2. 如何在MyBatis中开发Dao层

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java %d

上一篇:如何启动apache

下一篇:java行业如何称呼

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》