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();
      }
    }
  }
}
相关文章
|
1月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
25 1
|
2月前
|
JavaScript 前端开发 Java
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。如果你从我的文章中受益,欢迎关注我,我将持续更新更多优质内容。你的支持是我前进的动力!🎉🎉🎉
26 0
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
|
2月前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
45 2
|
3月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
3月前
|
Java
Java关键字 —— super 与 this 详细解释!一看就懂 有代码实例运行!
本文介绍了Java中this和super关键字的用法,包括在构造方法中使用this来区分参数和成员变量、使用super调用父类构造方法和方法,以及它们在同一个方法中同时使用的场景。
164 0
Java关键字 —— super 与 this 详细解释!一看就懂 有代码实例运行!
|
3月前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
31 0
|
3月前
|
Java
java的Random类和Arrays.sort类使用实例
java的Random类和Arrays.sort类使用实例
15 0
|
前端开发 Java 数据库连接
java分层架构概念
转自:http://www.cnblogs.com/bdqnbenet/p/4924778.html   service是业务层  DAO (Data Access Object) 数据访问   1.JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分?(下面所描述的service层就是biz)       首先这是现在最基本的分层方式,结合了SSH架构。
1022 0
|
10天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者
|
12天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。