DAO:Data Access Object

  DAO    数据层

  Service   逻辑业务层

  View     视图层

  entity     实体层

实现增、删、改、查的数据层

 public class EmpDAO {

     public Employee findEmpById(int id) {

         Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
Employee emp = null; conn = DBTool.getInstance().getConnection();
String sql = "SELECT * FROM Employee WHERE empId = ?";
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
rs = ps.executeQuery();
while(rs.next()){
emp = new Employee();
emp.setEmpNo(rs.getInt("empId"));
emp.seteName(rs.getString("empName"));
emp.setSalary(rs.getDouble("salary"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
DBTool.closeAll(conn, ps, rs);
}
return emp;
}
public int addEmp(Employee emp){
int row = 0;
Connection conn = null;
PreparedStatement ps = null;
conn = DBTool.getInstance().getConnection();
String sql = "INSERT INTO Employee (empName,salary) values (?,?)";
try {
ps = conn.prepareStatement(sql);
ps.setString(1, emp.geteName());
ps.setDouble(2, emp.getSalary());
row = ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
DBTool.closeAll(conn, ps, null);
}
return row;
}
public int updateEmp(Employee emp){
int row = 0;
Connection conn = null;
PreparedStatement ps = null;
conn = DBTool.getInstance().getConnection();
String sql = "UPDATE Employee SET empName = ?,Salary = ? WHERE empId = ?";
try {
ps = conn.prepareStatement(sql);
ps.setString(1, emp.geteName());
ps.setDouble(2, emp.getSalary());
ps.setInt(3, emp.getEmpNo());
row = ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
DBTool.closeAll(conn, ps, null);
}
return row;
}
public int deleteEmp(int id){
int row = 0;
Connection conn = null;
PreparedStatement ps = null;
conn = DBTool.getInstance().getConnection();
String sql = "delete from employee where empId = ?";
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, id);
row = ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
DBTool.closeAll(conn, ps, null);
}
return row;
}
}

JDBC——数据层DAO的更多相关文章

  1. Spring+SpringMVC+MyBatis+easyUI整合优化篇(九)数据层优化-jdbc连接池简述、druid简介

    日常啰嗦 终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和da ...

  2. MyBatis框架的XML数据访问Dao层接口的组合使用

    MyBatis 的前生为Apache的开源项目iBatis.其优势在于灵活,几乎可以替代JDBC,同时提供了编程接口.目前MyBatis的数据访问Dao层不需要实现类,也不需要像JDBC那样拼接Hql ...

  3. 数据层优化-jdbc连接池简述、druid简介

    终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和dao层的优化 ...

  4. view是视图层+action是控制层+service是业务层+dao是数据访问层。

  5. Spring04-SpringEL&Spring JDBC数据访问

    一. SpringEL入门 Spring动态语言(简称SpEL) 是一个支持运行时查询和操作对象图的强大的动态语言,语法类似于EL表达式,具有诸如显示方法和基本字符串模板函数等特性. 1. 准备工作 ...

  6. 数据层的多租户浅谈(SAAS多租户数据库设计)

    在上一篇“浅析多租户在 Java 平台和某些 PaaS 上的实现”中我们谈到了应用层面的多租户架构,涉及到 PaaS.JVM.OS 等,与之相应的是数据层也有多租户的支持. 数据层的多租户综述 多租户 ...

  7. JAVA 利用反射自定义数据层框架

    之前的随笔一直都在介绍c#,主要公司最近的业务都是做桌面程序,那么目前c#中的WPF肯定是我做桌面程序的不二之选,做了半年的WPF,也基本摸清了c#写代码的套路和规则(本人之前是两年多的JAVA开发者 ...

  8. [转载]数据层的多租户浅谈(SAAS多租户数据库设计)

    原文:http://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/index.html 在上一篇“浅析多租户在 Java 平台和某些 ...

  9. Spring Boot 2.X(二):集成 MyBatis 数据层开发

    MyBatis 简介 概述 MyBatis 是一款优秀的持久层框架,支持定制化 SQL.存储过程以及高级映射.它采用面向对象编程的方式对数据库进行 CRUD 的操作,使程序中对关系数据库的操作更方便简 ...

随机推荐

  1. 【JS】Intermediate2:Events and Callbacks

    event-driven :waiting for and reacting to events 2.page loads, user interacts (clicks, hovers, chang ...

  2. 【待修改】nyoj 38 最小生成树

    package nyoj; import java.util.Scanner; public class Main { public static void main(String args[]) { ...

  3. PrintDbGrideh 打印数据

    PrintDbGrideh1.BeforeGridText.Clear;//添加 PrintDbGrideh1.BeforeGridText.Add( '订单 '); PrintDBGridEh1.P ...

  4. 一个free的问题

    请看下面的代码: #include<stdio.h> #include<stdlib.h> #include<sys/types.h> #include<sy ...

  5. spring 的配置 bean>>property>>name属性

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  6. [转]2-SAT问题及其算法

    转自:http://www.cppblog.com/MatoNo1/archive/2011/07/13/150766.html [2-SAT问题]现有一个由N个布尔值组成的序列A,给出一些限制关系, ...

  7. 问题-关于sharemem程序访问WEB出现内存错误处理

    [delphi技术] 关于sharemem造成dll错误的处理办法问题现象:如果程序和dll之间用string作为参数传递时容易出现错误问题处理:需要在程序的uses中使用sharemem.这个sha ...

  8. 检查REDO日志相关信息并生成HTML文件的脚本

    生成HTML格式的文件 内容有: 检查数据库版本.REDO日志组情况, 最近20次日志切换频率检查--日志间的归档时间间隔, 这对查看数据库的IO繁忙时段 统计指定日期当天每小时的归档日志产生量--日 ...

  9. eclipse mybatis Generator

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  10. dtrace-oracle-vage :吕海波

    http://blog.itpub.net/321157/cid--1-list-1/ http://www.hdb.com/timeline/velqk