mysql dao层怎么写_servlet的dao层怎么写

DAO层(数据访问对象)主要负责数据库操作,包括增删改查等基本功能。在Java中,通常定义接口来声明操作方法,然后创建实现接口的类,如Mybatis中的实现。例如,对于学生班级表,接口IStuClassDao包含全表查询、按ID查询、添加、更新和按IDs查询班级名称的方法。此外,展示了未使用Mybatis时,AnimalDAO类如何实现添加、获取所有信息、删除和更新动物信息的操作。
摘要由CSDN通过智能技术生成

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

推荐课程:Java教程。

d0b4befa2ed023d39535d06fff8d20b4.png

Dao层

先声明一个接口类,类里声明一些将会用的方法,

同一层内写一个实现这个接口类的类,重写接口类里的方法

以实现Mybatis的写法

方法主要是处理数据的方法;public interface IStuClassDao {

//全表查询方法

public List findAllStuClassInfo();

//classID查询

public Map 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 getAll(){

List list = new ArrayList();

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

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值