博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java JDBC数据库 之 DAO 封装
阅读量:5153 次
发布时间:2019-06-13

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

下载 Oracle 或者 Mysql Jar 驱动 mysql-connector-java-3.0.10-stable-bin.jar ojdbc14.jar package com.dao;import java.util.List;import com.entity.Dept;public interface DeptDao{    //添加部门    public boolean add(Dept item);    //获得所有的部门    public List
find(); //根据部门的id 返回 该部门 public Dept findById(int id); //根据 部门id 修改部门数据 public boolean update(Dept item); //根据 部门 id 删除部门 public boolean deleteById(int id); //删除多个 "1,2,3" public boolean deleteByIds(String ids); }package com.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.db.DBUtil;import com.entity.Dept;public class DeptDaoImpl implements DeptDao{ private DBUtil db; public DeptDaoImpl() { db=new DBUtil(); } @Override public boolean add(Dept item) { //添加到数据库 String sql="INSERT INTO dept(id,name)VALUES(?,?)"; Object[] params={item.getId(),item.getName()}; return db.executeUpdate(sql, params); } @Override public List
find() { //实例化集合 存的是 所有的部门的数据 List
deptList=new ArrayList
(); String sql="SELECT * FROM dept"; ResultSet rs=db.executeQuery(sql, null); try { while(rs.next()) { int id=rs.getInt("id"); String name=rs.getString("name"); //存入集合 deptList.add(new Dept(id,name)); } } catch (SQLException e) { e.printStackTrace(); } finally { db.DBClose(); } return deptList; } @Override public Dept findById(int id) { Dept item=null; String sql="SELECT * FROM dept WHERE id=?"; Object[] params={id}; ResultSet rs=db.executeQuery(sql, params); try { if(rs.next()) { int id2=rs.getInt("id"); String name=rs.getString("name"); item=new Dept(id2,name); } } catch (SQLException e) { e.printStackTrace(); } finally { db.DBClose(); } return item; } @Override public boolean update(Dept item) { String sql="UPDATE dept SET name=? WHERE id=?"; Object[] params={item.getName(),item.getId()}; return db.executeUpdate(sql, params); } @Override public boolean deleteById(int id) { String sql="DELETE FROM dept WHERE id=?"; Object[] params={id}; return db.executeUpdate(sql, params); } @Override public boolean deleteByIds(String ids) //ids "1,2,3" { String sql="DELETE FROM dept WHERE id IN ("+ids+")"; return db.executeUpdate(sql); } }package com.dao.test;import com.dao.DeptDao;import com.dao.DeptDaoImpl;import com.entity.Dept;public class TestAdd{ public static void main(String[] args) { DeptDao deptDao=new DeptDaoImpl(); deptDao.add(new Dept(1,"财务")); deptDao.add(new Dept(3,"人事")); }}package com.dao.test;import com.dao.DeptDao;import com.dao.DeptDaoImpl;public class TestDelete{ public static void main(String[] args) { DeptDao deptDao=new DeptDaoImpl(); deptDao.deleteById(1); }}package com.dao.test;import com.dao.DeptDao;import com.dao.DeptDaoImpl;import com.entity.Dept;public class TestUpdate{ public static void main(String[] args) { DeptDao deptDao=new DeptDaoImpl(); deptDao.update(new Dept(1,"会计")); }}package com.dao.test;import java.util.List;import com.dao.DeptDao;import com.dao.DeptDaoImpl;import com.entity.Dept;public class TestFind{ public static void main(String[] args) { DeptDao deptDao=new DeptDaoImpl(); List
deptList=deptDao.find(); for(Dept item:deptList) { System.out.println(item.getId()+","+item.getName()); } }}package com.dao.test;import com.dao.DeptDao;import com.dao.DeptDaoImpl;import com.entity.Dept;public class TestFindById{ public static void main(String[] args) { DeptDao deptDao=new DeptDaoImpl(); Dept item=deptDao.findById(2); System.out.println(item.getId()+","+item.getName()); }}package com.dao.test;import com.dao.DeptDao;import com.dao.DeptDaoImpl;public class TestDeleteByIds{ public static void main(String[] args) { DeptDao deptDao=new DeptDaoImpl(); deptDao.deleteByIds("1,2,3"); }}package com.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBUtil{ private Connection conn;//数据库的链接对象 public DBUtil() { //加载驱动 try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //打开数据的链接 public Connection openConnection() { try { conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "myspace", "myspace123"); } catch (SQLException e) { e.printStackTrace(); } return conn; } //执行 INSERT DELETE UPDATE 的方法 public boolean executeUpdate(String sql) { //打开数据库 openConnection(); //创建执行 sql 的对象 try { Statement stmt=conn.createStatement(); //执行sql 语句 if(stmt.executeUpdate(sql)>0) { return true; } } catch (SQLException e) { e.printStackTrace(); } finally { DBClose(); } return false; } //执行 sql 的 查找 SELECT 的方法 public ResultSet executeQuery(String sql) { //打开数据库链接 openConnection(); //创建执行sql 的对象 Statement stmt=null; ResultSet rs=null; try { stmt = conn.createStatement(); rs=stmt.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; } //绑定的sql INSERT DELETE UPDATE 方法 public boolean executeUpdate(String sql,Object[] params) { //打开数据库 openConnection(); //创建绑定对象 try { PreparedStatement pstmt=conn.prepareStatement(sql); //填充 ? 的值 for(int i=0;params!=null&&i
0) { return true; } } catch (SQLException e) { e.printStackTrace(); } finally { DBClose(); } return false; } //绑定的sql 查找 SELECT 方法 public ResultSet executeQuery(String sql,Object[] params) { //打开数据库 openConnection(); //创建绑定对象 try { PreparedStatement pstmt=conn.prepareStatement(sql); //填充 ? 的值 for(int i=0;params!=null&&i

转载于:https://www.cnblogs.com/verejava/p/9236922.html

你可能感兴趣的文章
团队工作第二天
查看>>
linux一些基本操作-防火墙操作
查看>>
System类
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
Xamarin Visual Studio不识别JDK路径
查看>>
菜鸟“抄程序”之道
查看>>
Ubuntu下关闭防火墙
查看>>
TCP/IP 邮件的原理
查看>>
w3m常用快捷键
查看>>
【Unity 3D】学习笔记四十一:关节
查看>>
原型设计工具
查看>>
windows下的C++ socket服务器(4)
查看>>
css3 2d转换3d转换以及动画的知识点汇总
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
js对象属性方法
查看>>
对Vue为什么不支持IE8的解释之一
查看>>
利用Git版本控制管理你的项目
查看>>
windows下使用pycharm开发基于ansible api的python程序
查看>>
错误 warning: LF will be replaced by CRLF in README.md.
查看>>