servlet的dao层怎么写

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

推荐课程:Java教程。

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

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.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:servlet接口是什么

相关资讯