java面向对象高级分层实例_BaseDao

简介: java面向对象高级分层实例_BaseDao
package bdqn.studentSys.Dao;
/**
 * 数据库帮助类
 * @author Administrator
 *
 */
import java.sql.*;
public class BaseDao {
  Connection conn=null;
  PreparedStatement ps=null;
  ResultSet rs=null;
  //连接数据库
  public void getConnection(){
    try {
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    try {
      conn=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=mydb;User=sa;Password=171268");
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
  //增删改
  public int executeUpdate(String sql,Object[]prams) throws SQLException{
    int rel=0;
    getConnection();
    ps=conn.prepareStatement(sql);
    if(prams!=null){
      for (int i = 0; i < prams.length; i++) {
        ps.setObject(i+1, prams[i]);
      }
    }
    rel=ps.executeUpdate();
    return rel;
  }
  //查询
  public ResultSet executeQurey(String sql,Object[]prams) throws SQLException{
    getConnection();
    ps=conn.prepareStatement(sql);
    if(prams!=null){
      for (int i = 0; i < prams.length; i++) {
        ps.setObject(i+1, prams[i]);
      }
    }
    rs=ps.executeQuery();
    return rs;
  }
  //关闭释放资源
  public void closeAll(){
    if(rs!=null){
      try {
        rs.close();
      } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    if(ps!=null){
      try {
        ps.close();
      } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    if(conn!=null){
      try {
        conn.close();
      } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
  }
}
相关文章
|
2月前
|
存储 Java 计算机视觉
Java二维数组的使用技巧与实例解析
本文详细介绍了Java中二维数组的使用方法
63 15
|
2月前
|
缓存 Java 开发者
Java字面量详解:概念、分类与使用实例
本文介绍了Java字面量的概念、分类及应用。
63 11
|
3月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
45 1
|
4月前
|
JavaScript 前端开发 Java
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。如果你从我的文章中受益,欢迎关注我,我将持续更新更多优质内容。你的支持是我前进的动力!🎉🎉🎉
41 0
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
|
4月前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
72 2
|
5月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
5月前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
44 0
|
存储 Java 关系型数据库
20 个实例玩转 Java 8 Stream
20 个实例玩转 Java 8 Stream
304 0
20 个实例玩转 Java 8 Stream
|
存储 Java 关系型数据库
20 个实例玩转 Java 8 Stream,写的太好了!
先贴上几个案例,水平高超的同学可以挑战一下: 从员工集合中筛选出salary大于8000的员工,并放置到新的集合里。 统计员工的最高薪资、平均薪资、薪资之和。
20 个实例玩转 Java 8 Stream,写的太好了!
|
17天前
|
存储 监控 Java
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
142 60
【Java并发】【线程池】带你从0-1入门线程池

热门文章

最新文章