博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
五、入门之创建DAO层
阅读量:2050 次
发布时间:2019-04-28

本文共 3505 字,大约阅读时间需要 11 分钟。

在完成了数据库连接还有Model类的创建之后,我们需要创建一个DAO层,来时间对数据的增删改查,将增删改查抽象成一个个函数。

package util;import employee.emp;import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class jdbcDAO {    public static void insert(emp employee) {        String sql = "insert into emptable(id,name,age,sex,workyears,cometime,outtime,position) values(?,?,?,?,?,?,?,?)";//注意表名        jdbcutil util = jdbcutil.getInstance();        util.executeUpdate(sql, new Object[]{employee.getId(),employee.getName(),employee.getAge(),employee.getSex(),employee.getWorkyears(),                employee.getCometime(),employee.getOuttime(),employee.getPosition()});    }    public static void delete(int id) {        String sql = "delete from emptable where id = ?";        jdbcutil util = jdbcutil.getInstance();        util.executeUpdate(sql, new Object[]{id});    }    public static emp select(int Id) {        String sql = "select * from emptable where id = ?";        jdbcutil util = jdbcutil.getInstance();        List tmp = util.excuteQuery(sql, new Object[]{Id});        HashMap
map; SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); emp employee; int id; String name; int age; String sex; int years; String comdate; String outdate; String duty; for (Object obj : tmp) { map = (HashMap
) obj; id = (int) map.get("id"); name = (String) map.get("name"); age = (Integer) map.get("age"); sex = (String) map.get("sex"); years = (int) map.get("workyears"); comdate = format.format((Timestamp) (map.get("cometime"))); outdate = format.format((Timestamp) (map.get("outtime"))); duty = (String) map.get("position"); employee = new emp(id, name, age , years , comdate, outdate, duty,sex); employee.setId(Id); return employee; } return null; } public static ArrayList
queryAll() { String sql = "select * from emptable"; ArrayList
res = new ArrayList
(); jdbcutil util = jdbcutil.getInstance(); List
tmp = util.excuteQuery(sql, null); HashMap
map; SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); emp employee; int id; String name; int age; String sex; int years; String comdate; String outdate; String duty;// System.out.println(tmp.size()); for (Object obj : tmp) { map = (HashMap
) obj; id = (int) map.get("id"); name = (String) map.get("name"); age = (Integer) map.get("age"); sex = (String) map.get("sex"); years = (int) map.get("workyears"); comdate = format.format((Timestamp) (map.get("cometime"))); outdate = format.format((Timestamp) (map.get("outtime"))); duty = (String) map.get("position"); employee = new emp(id, name, age , years , comdate, outdate, duty,sex); employee.setId(id); res.add(employee); } return res; } public static void update(emp employee) { String sql = "update emptable set id = ? , name = ? , age = ? , sex = ? , workyears = ? , cometime = ? , outtime = ? , position = ? where id = ?"; jdbcutil util = jdbcutil.getInstance(); util.executeUpdate(sql, new Object[]{employee.getId(),employee.getName(),employee.getAge(),employee.getSex(),employee.getWorkyears(), employee.getCometime(),employee.getOuttime(),employee.getPosition(),employee.getId()}); }}

需要注意点是,在操作是表是写死的,也就是在写sql语句的时候直接将表名写死了,这里需要注意

转载地址:http://vawlf.baihongyu.com/

你可能感兴趣的文章
剑指offer 26. 数组中出现次数超过一半的数字
查看>>
剑指offer 27.二叉树的深度
查看>>
剑指offer 29.字符串的排列
查看>>
剑指offer 31.最小的k个树
查看>>
剑指offer 32.整数中1出现的次数
查看>>
剑指offer 33.第一个只出现一次的字符
查看>>
剑指offer 34.把数组排成最小的数
查看>>
剑指offer 35.数组中只出现一次的数字
查看>>
剑指offer 36.数字在排序数组中出现的次数
查看>>
剑指offer 37.数组中重复的数字
查看>>
剑指offer 38.丑数
查看>>
剑指offer 39.构建乘积数组
查看>>
剑指offer 57. 删除链表中重复的结点
查看>>
剑指offer 58. 链表中环的入口结点
查看>>
剑指offer 59. 把字符串转换成整数
查看>>
剑指offer 60. 不用加减乘除做加法
查看>>
leetcode 热题 Hot 100-3. 合并两个有序链表
查看>>
leetcode 热题 Hot 100-4. 对称二叉树
查看>>
Leetcode C++《热题 Hot 100-12》226.翻转二叉树
查看>>
Leetcode C++《热题 Hot 100-13》234.回文链表
查看>>