• 技术文章 >Java >java教程

    servlet的dao层怎么写

    (*-*)浩(*-*)浩2019-05-16 14:18:11原创5804
    dao层:dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查。

    推荐课程:Java教程

    php入门到就业线上直播课:进入学习

    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层怎么写的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:java
    上一篇:servlet接口是什么 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• Java中continue是什么意思• 什么是javabean• jsp怎么调用java方法• 怎么学java语言?
    1/1

    PHP中文网