封装jdbc
来源:互联网 发布:矩阵除法 编辑:程序博客网 时间:2024/05/18 00:16
封装jdbc
对jdbc的封装主要是对实体对象进行封装,封装后只需传入实体对象或实体对象类等即可对其进行简单操作。
目的是:减少代码重复,提高代码重用。首先在WEB-INF文件夹导入jar包,要对应自己的版本号,再加载这个包。
之后新建几个包分别
存储不同类型的类。以下代码仅对新手有用,老鸟略过。代码如下:
工具包:
代码块语法遵循标准markdown代码,例如:
package com.bdqn.utils;public class Connaiti { public static final String use="root"; public static final String pwd="root"; public static final String driver="com.mysql.jdbc.Driver"; public static final String url="jdbc:mysql://localhost:3306/dept"; 自己的数据库}
实体包:
package com.bdqn.entity;//插入get、set、有参无参、toString的方法public class Dept { private int did; private String dname; private String dpwd; private String dmesc; public int getDid() { return did; } public void setDid(int did) { this.did = did; } public String getDname() { return dname; } public void setDname(String dname) { this.dname = dname; } public String getDpwd() { return dpwd; } public void setDpwd(String dpwd) { this.dpwd = dpwd; } public String getDmesc() { return dmesc; } public void setDmesc(String dmesc) { this.dmesc = dmesc; } public Dept() { } public Dept(int did, String dname, String dpwd, String dmesc) { this.did = did; this.dname = dname; this.dpwd = dpwd; this.dmesc = dmesc; } @Override public String toString() { return "Dept [did=" + did + ", dname=" + dname + ", dpwd=" + dpwd + ", dmesc=" + dmesc + "]"; }
实体类下的Text类(最后再写):
package com.bdqn.entity;import com.bdqn.dao.BaseDao;import com.bdqn.dao.DestDao;import com.bdqn.dao.impl.DeptImpl;public class Text { public static void main(String[] args) { DeptImpl dao =new DeptImpl(); //可以父类调用子类 Dept dept =new Dept(); dept.setDname("fujiajun2"); dept.setDid(2); int num =dao.updateDept(dept); System.out.println(num); }}
DAO包,数据访问接口:
package com.bdqn.dao;import java.util.List;import com.bdqn.entity.Dept;//实现类public interface DestDao { //增加 int insertDept(Dept dept); //修改 int updateDept(Dept dept); //删除 int deleteDept(int did); //全查 List<Dept> selectAllDept(); //根据id查询 List<Dept> selectDept(int did);}
提供从数据库增、删、改、查等的操作
package com.bdqn.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import com.bdqn.utils.Connaiti;public class BaseDao { private static Connection contion =null; private static PreparedStatement ps=null; //获取连接 public static Connection getConnection() { //加载驱动 try { Class.forName(Connaiti.driver); contion=DriverManager.getConnection(Connaiti.url, Connaiti.use, Connaiti.pwd); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return contion; } //关闭资源 public static void close(Connection contion,Statement st,ResultSet rs){ try { if (rs!=null) { rs.close(); } if (st!=null) { st.close(); } if (contion!=null) { contion.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //实现增删改 public static int update(String sql,Object[] objects){ int num =0; contion=getConnection(); try { ps=contion.prepareStatement(sql); if (objects !=null && objects.length>0) { for (int i = 0; i < objects.length; i++) { ps.setObject((i+1), objects[i]); } } num=ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ close(contion, ps, null); } return num; } //查询 public static ResultSet getResultSet(String sql,Object[] objects) { ps=null; ResultSet rs=null; try { contion= getConnection(); ps=contion.prepareStatement(sql); if (objects!=null &&objects.length>0) { for (int i = 0; i < objects.length; i++) { ps.setObject((i+1), objects[i]); } } rs=ps.executeQuery(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ close(contion, ps, rs); } return rs; } }
DAO的实现包:
package com.bdqn.dao.impl;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.bdqn.dao.BaseDao;import com.bdqn.dao.DestDao;import com.bdqn.entity.Dept;public class DeptImpl extends BaseDao implements DestDao{ @Override //插入、增加 public int insertDept(Dept dept) { String sql="insert into dept1 valuse(?,?,?,?)"; Object[] objects ={dept.getDid(),dept.getDname(),dept.getDpwd(),dept.getDmesc()}; int num =this.update(sql, objects); return num; } @Override //修改 public int updateDept(Dept dept) { String sql="update dept1 set dname=? where did=?"; Object[] objects={dept.getDname(),dept.getDid()}; int num =this.update(sql, objects); return num; } @Override //删除 public int deleteDept(int did) { String sql ="delete from dept1 where did=?"; Object[] objects={did}; int num =this.update(sql, objects); return num; } @Override //查询所有 public List<Dept> selectAllDept() { String sql="select *from dept1"; List<Dept> list=null; try { ResultSet rs=this.getResultSet(sql, null); list =new ArrayList<Dept>(); while (rs.next()) { Dept dept =new Dept(); int did=rs.getInt("did"); String dname=rs.getString("dname"); String dpwd=rs.getString("dpwd"); String dmesc=rs.getString("dmesc"); dept.setDid(did); dept.setDname(dname); dept.setDpwd(dpwd); dept.setDmesc(dmesc); list.add(dept); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } @Override //根据id查询 public List<Dept> selectDept(int did) { String sql="select *from dept where did=?"; Object[] objects=null; List<Dept> list=null; try { ResultSet rs=this.getResultSet(sql, objects); list =new ArrayList<Dept>(); while (rs.next()) { Dept dept =new Dept(); int did1=rs.getInt("did"); String dname=rs.getString("dname"); String dpwd=rs.getString("dpwd"); String dmesc=rs.getString("dmesc"); dept.setDid(did); dept.setDname(dname); dept.setDpwd(dpwd); dept.setDmesc(dmesc); list.add(dept); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; }}
阅读全文
0 0
- JDBC封装
- jdbc 封装
- JDBC封装
- JDBC封装
- JDBC封装
- jdbc 封装
- JDBC 封装
- JDBC封装
- JDBC封装
- 封装jdbc
- jdbc简单封装3
- jdbc简单封装
- jdbc简单封装 1
- jdbc简单封装 2
- jdbc简单封装 4
- JDBC常用方法封装
- jdbc封装工具类
- spring jdbc封装(1)
- Ndk学习之JNI方法和静态方法(java-->C)
- 第十周 项目3
- pycharm当中,如何导入python2或者python3环境
- 教你解决Python数据分析可视化时可以显示中文
- 哈希算法-Top K
- 封装jdbc
- 关于unit3d中GUI texture 的相关问题
- 自我怀疑的开发者:你够好吗?
- 【C#】自己写构造string.Join()方法
- 在java中String a="a",b="a";a==b为什么返回true?
- ElasticSearch学习
- Java用户注册手机短信验证码校验功能实现
- 2017年快结束了 你的小目标定好了么?
- 第十周 项目4