JDBC——数据层DAO
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的更多相关文章
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(九)数据层优化-jdbc连接池简述、druid简介
日常啰嗦 终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和da ...
- MyBatis框架的XML数据访问Dao层接口的组合使用
MyBatis 的前生为Apache的开源项目iBatis.其优势在于灵活,几乎可以替代JDBC,同时提供了编程接口.目前MyBatis的数据访问Dao层不需要实现类,也不需要像JDBC那样拼接Hql ...
- 数据层优化-jdbc连接池简述、druid简介
终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和dao层的优化 ...
- view是视图层+action是控制层+service是业务层+dao是数据访问层。
- Spring04-SpringEL&Spring JDBC数据访问
一. SpringEL入门 Spring动态语言(简称SpEL) 是一个支持运行时查询和操作对象图的强大的动态语言,语法类似于EL表达式,具有诸如显示方法和基本字符串模板函数等特性. 1. 准备工作 ...
- 数据层的多租户浅谈(SAAS多租户数据库设计)
在上一篇“浅析多租户在 Java 平台和某些 PaaS 上的实现”中我们谈到了应用层面的多租户架构,涉及到 PaaS.JVM.OS 等,与之相应的是数据层也有多租户的支持. 数据层的多租户综述 多租户 ...
- JAVA 利用反射自定义数据层框架
之前的随笔一直都在介绍c#,主要公司最近的业务都是做桌面程序,那么目前c#中的WPF肯定是我做桌面程序的不二之选,做了半年的WPF,也基本摸清了c#写代码的套路和规则(本人之前是两年多的JAVA开发者 ...
- [转载]数据层的多租户浅谈(SAAS多租户数据库设计)
原文:http://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/index.html 在上一篇“浅析多租户在 Java 平台和某些 ...
- Spring Boot 2.X(二):集成 MyBatis 数据层开发
MyBatis 简介 概述 MyBatis 是一款优秀的持久层框架,支持定制化 SQL.存储过程以及高级映射.它采用面向对象编程的方式对数据库进行 CRUD 的操作,使程序中对关系数据库的操作更方便简 ...
随机推荐
- HTTP 304 Response
当一个客户端(通常是浏览器)向web服务器发送一个请求,如果web服务器返回304响应,则表示此请求的本地缓存是最新的,可以直接使用.这种方法可以节省带宽,避免重复响应. 一般来说,可以将一个请求分为 ...
- 图解SVD分解
参考 http://www.bfcat.com/index.php/2012/03/svd-tutorial/
- PHP 201307 月最新手册chm 免费下载
本次更新两个版本 php_manual_zh_notreview.chm (15MB 不带评论) php_manual_zh_review.chm (32MB 带评论) 制作方 ...
- Windows Azure 的虚拟硬盘和文件的相关概念
虚拟硬盘和文件 在 Windows Azure 外部,虚拟硬盘可使用 VHD 或 VHDX 格式.它们还可以是固定的.动态扩展或差异的.Windows Azure 支持 VHD 格式的固定磁盘.固定格 ...
- 微软 Build 2014开发者大会干货整理-1
微软 Build 2014开发者大会第二天的主题演讲主要包含两部分:Microsoft Azure的发展状况,以及 .NET和生态系统的发展介绍.第二天的重点整理也由此分为上下两部分.您可以在Chan ...
- Android 天气应用开发
百度 API Store中很多免费的天气API,因此写一个天气应用相对变得很容易. 首先尝试API给的接口,接受返回数据. public class MainActivity extends Acti ...
- <转>Windows 各种计时函数总结
本文转自MoreWindows 特此标识感谢 http://blog.csdn.net/morewindows/article/details/6854764 本文对Windows平台下常用的计时函数 ...
- Tuple元组
Tuple元组 Tuple 是 Storm 的主要数据结构,并且是 Storm 中使用的最基本单元.数据模型和元组. Tuple 描述 Tuple 就是一个值列表, Tuple 中的值可以是任何类型的 ...
- eclipse安装maven插件
- 理解C# Attribute
1.Attribute与Property Attribute是特性,Property是属性. 2.Attribute与注释 注释:是给程序员看的,编译的时候会去掉这些信息,也就是说,程序集中没有注释的 ...