java实现人脸识别源码【含测试效果图】——Dao层(BaseDao)

简介: java实现人脸识别源码【含测试效果图】——Dao层(BaseDao)
package org.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
/**
 * 
*    
* 项目名称:test_face_photo   
* 类名称:BaseDao   
* 类描述:   数据库连接共用类
* 创建人:Mu Xiongxiong  
* 创建时间:2017-9-22 下午6:56:18   
* 修改人:Mu Xiongxiong   
* 修改时间:2017-9-22 下午6:56:18   
* 修改备注:   
* @version    
*
 */
public class BaseDao {
  private static      Connection                con             =         null;
  //数据库驱动
  private static      String                  driver            =         "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  
  //连接字符串
  private static      String                  url             =         "jdbc:sqlserver://localhost:1433; DatabaseName=facedb";
  
  //数据库用户名
  private static      String                  user            =         "sa";
  
  //密码
  private static      String                  pwd             =         "171268";
  
  //初始化PreparedStatement,编译sql语句
  private static      PreparedStatement             ps              =         null;
  
  //初始化ResultSet数据集
  private static      ResultSet                 rs              =         null;
  
    
  /**
   * 
  * @Description: 该方法的主要作用:打开连接,连接数据库
  * @Title: getConnection
  * @param  @return
  * @param  @throws ClassNotFoundException
  * @param  @throws SQLException 设定文件  
  * @return  返回类型:Connection   
  * @throws
   */
  public static Connection getConnection() throws ClassNotFoundException, SQLException{
    Class.forName(driver);
    if(con==null){
      con = DriverManager.getConnection(url,user,pwd);
    }
    return con;
  }
  
  /**
   * 
  * @Description: 该方法的主要作用:增删改通用的方法
  * @Title: executeUpdate
  * @param  @param sql
  * @param  @param prams
  * @param  @return
  * @param  @throws ClassNotFoundException
  * @param  @throws SQLException 设定文件  
  * @return  返回类型:int   
  * @throws
   */
  public static int executeUpdate(String sql,List<Object> prams) throws ClassNotFoundException, SQLException{
    int       rel     =     0;
            con       =       getConnection();
            ps      =     con.prepareStatement(sql);
    if(prams!=null){
      for (int i = 0; i <prams.size(); i++) {
        ps.setObject(i+1, prams.get(i));
      }
    }
            rel     =   ps.executeUpdate(); 
    return rel;
  }
  
  /**
   * 
  * @Description: 该方法的主要作用:查询的通用方法
  * @Title: executeQuery
  * @param  @param sql
  * @param  @param prams
  * @param  @return 设定文件  
  * @return  返回类型:ResultSet   
  * @throws
   */
  public static ResultSet executeQuery(String sql,List<Object>prams) throws ClassNotFoundException, SQLException{
    con     =     getConnection();
    ps    =     con.prepareStatement(sql);
    if(prams!=null){
      for (int i = 0; i < prams.size(); i++) {
        ps.setObject(i+1, prams.get(i));
      }
    }
    rs      =   ps.executeQuery();
    return rs;
  }
  
  /**
   * 
  * @Description: 该方法的主要作用:关闭资源
  * @Title: closeConnnection
  * @param   设定文件  
  * @return  返回类型:void   
  * @throws
   */
  public static void closeConnnection(){
  //关闭之前先判断是否为null
    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(con!=null){
      try {
        con.close();
        con=null;
      } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    
  }
  
  /**
   * 
  * @Description: 该方法的主要作用:测试连接数据库与否
  * @Title: main
  * @param  @param args 设定文件  
  * @return  返回类型:void   
  * @throws
   */
  public static void main(String[] args) {
    try {
      System.out.println(getConnection());
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
  
}


相关文章
|
2月前
|
XML Java Maven
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
63 7
|
2月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
57 3
|
2月前
|
计算机视觉 异构计算
目标检测实战(四):YOLOV4-Tiny 源码训练、测试、验证详细步骤
这篇文章详细介绍了使用YOLOv4-Tiny进行目标检测的实战步骤,包括下载源码和权重文件、配置编译环境、进行简单测试、训练VOC数据集、生成训练文件、准备训练、开始训练以及多GPU训练的步骤。文章还提供了相应的代码示例,帮助读者理解和实践YOLOv4-Tiny模型的训练和测试过程。
167 0
|
4月前
|
测试技术 Python
python自动化测试中装饰器@ddt与@data源码深入解析
综上所述,使用 `@ddt`和 `@data`可以大大简化写作测试用例的过程,让我们能专注于测试逻辑的本身,而无需编写重复的测试方法。通过讲解了 `@ddt`和 `@data`源码的关键部分,我们可以更深入地理解其背后的工作原理。
69 1
|
4月前
|
XML Java 测试技术
Selenium WebDriver自动化测试(基础篇):不得不掌握的Java基础
关于Selenium WebDriver自动化测试的Java基础篇,涵盖了Java的变量、数据类型、字符串操作、运算符、流程控制、面向对象编程、关键字用法、权限修饰符、异常处理和IO流等基础知识点,为进行自动化测试提供了必要的Java语言基础。
111 1
|
4月前
|
Java 测试技术 数据库
SpringBoot单元测试快速写法问题之不想在PandoraBoot工程中Mock Dao层如何解决
SpringBoot单元测试快速写法问题之不想在PandoraBoot工程中Mock Dao层如何解决
|
5月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
69 3
|
5月前
|
Java 测试技术 Apache
《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
【7月更文挑战第4天】Apache Log4j 是一个广泛使用的 Java 日志框架,它允许开发者控制日志信息的输出目的地、格式和级别。Log4j 包含三个主要组件:Loggers(记录器)负责生成日志信息,Appenders(输出源)确定日志输出的位置(如控制台、文件、数据库等),而 Layouts(布局)则控制日志信息的格式。通过配置 Log4j,可以灵活地定制日志记录行为。
58 4
|
4月前
|
Java 测试技术 API
深入理解单元测试:JUnit框架在Java中的应用
【8月更文挑战第3天】本文将引导读者通过JUnit框架的镜头,探索单元测试的奥秘。我们将一起揭开单元测试的神秘面纱,了解其在软件开发中的关键作用,并具体学习如何在Java项目中应用JUnit进行有效的单元测试。文章不仅会涉及理论概念,还将通过具体的代码示例,展示如何编写和运行单元测试,以确保软件质量。让我们开始吧,一起踏上这段提升代码质量和开发效率的旅程。
57 0
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解