首页 > 其他分享 >无涯教程-DBUtils - 使用数据源

无涯教程-DBUtils - 使用数据源

时间:2023-10-13 15:06:09浏览次数:38  
标签:String basicDataSource 数据源 无涯 QueryRunner static emp DBUtils public

到目前为止,无涯教程在使用QueryRunner时使用了连接对象,也可以无缝链接数据源。下面的示例将演示如何在QueryRunner和数据源的帮助下使用Read查询读取记录。将从员工表中读取一条记录。

语法

QueryRunner queryRunner=new QueryRunner( dataSource );
Employee emp=queryRunner.query("SELECT * FROM employees WHERE first=?", resultHandler, "Sumit");
  • dataSource      - 已配置数据源对象。

  • resultHandler - 将输出集映射到Employee对象的ResultSetHandler对象。

  • queryRunner  - QueryRunner对象,用于从数据库读取员工对象。

以下是 Employee.java 的内容。

public class Employee {
   private int id;
   private int age;
   private String first;
   private String last;
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public String getFirst() {
      return first;
   }
   public void setFirst(String first) {
      this.first = first;
   }
   public String getLast() {
      return last;
   }
   public void setLast(String last) {
      this.last = last;
   }
}

以下是 CustomDatasource.java 的内容。

import javax.sql.DataSource;
import org.apache.commons.dbcp2.BasicDataSource;

public class CustomDataSource {
   //JDBC 驱动程序名称和数据库 URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost:3306/emp";
   
   //连接数据库凭据
   static final String USER = "root";
   static final String PASS = "admin";
   private static DataSource datasource;
   private static final BasicDataSource basicDataSource;

   static {
      basicDataSource = new BasicDataSource();
      basicDataSource.setDriverClassName(JDBC_DRIVER);
      basicDataSource.setUsername(USER);
      basicDataSource.setPassword(PASS);
      basicDataSource.setUrl(DB_URL);
   }

   public static DataSource getInstance() {
      return basicDataSource;
   }
}

以下是 MainApp.java 文件的内容。

import java.sql.SQLException;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;

public class MainApp {
   public static void main(String[] args) throws SQLException {    
      
      DbUtils.loadDriver(JDBC_DRIVER);
      QueryRunner run = new QueryRunner(CustomDataSource.getInstance());
      ResultSetHandler<Employee> resultHandler = new BeanHandler<Employee>(Employee.class);

      Employee emp = queryRunner.query("SELECT * FROM employees WHERE id=?",
         resultHandler, 103);
      
      //显示对象信息
      System.out.print("ID: " + emp.getId());
      System.out.print(", Age: " + emp.getAge());
      System.out.print(", First: " + emp.getFirst());
      System.out.println(", Last: " + emp.getLast());
   }
}

创建完源文件后,让无涯教程运行该应用程序。如果您的应用程序一切正常,它将打印以下消息。

ID: 103, Age: 33, First: Sumit, Last: Learnfk

参考链接

https://www.learnfk.com/dbutils/dbutils-using-datasource.html

标签:String,basicDataSource,数据源,无涯,QueryRunner,static,emp,DBUtils,public
From: https://blog.51cto.com/u_14033984/7845548

相关文章

  • WPF中Image控件绑定数据源,解决图片被占用问题
    WPF中Image控件的数据源如果设置为路径,或者后台通过Image.FromFile来绑定,该图片将被占用,如要进行图片压缩、删除等操作则会报图片被占用的错;所以可以从内存中加载图片进行绑定。以下为MVVMLight模式,首先增加一个图片路径值转换的类publicclassImageConvert:IValueConverte......
  • 无涯教程-DBUtils - 自定义行处理器
    如果数据库表中的列名和Javabean对象名不一样,那么无涯教程可以使用自定义的BasicRowProcessor对象来映射它们。请参见下面的示例。以下是Employee.java的内容。publicclassEmployee{privateintid;privateintage;privateStringfirst;privateString......
  • 无涯教程-DBUtils - MapListHandler接口
    org.apache.commons.dbutils.MapListHandler是ResultSetHandler接口的实现,负责将ResultSet行转换为Maps列表,此类是线程安全的。MapListHandler-声明以下是org.apache.commons.dbutils.MapListHandler类的声明-publicclassMapListHandlerextendsAbstractListHandler......
  • 无涯教程-DBUtils - 环境设置
    要开始使用DBUtils开发,您应该按照以下步骤设置DBUtils环境。无涯教程假设您正在Windows平台上工作。安装数据库当然,您将需要的最重要的事情是一个实际运行的数据库,其中包含可以查询和修改的表。安装最适合您的数据库。您可以有很多选择,最常见的是-MySQL数据库    - ......
  • 无涯教程-DBUtils - 简介
    ApacheCommonsDbUtils库是一组很小的类,这些类旨在简化JDBC调用处理,而不会造成资源泄漏,并使代码更简洁。由于JDBC资源清理非常繁琐且容易出错,因此DBUtils类有助于抽象出样板代码,以便开发人员仅专注于与数据库相关的操作。DBUtils优点NoReasourceLeakage - DBUtils类确保......
  • 无涯教程-ASP.NET MVC - 单元测试
    在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元以确定它们是否适合使用。换句话说,这是一个软件开发过程,其中应用程序的最小可测试部分(称为单元)被单独且独立地检查以确保其正常运行。单元测试通常是自动化的,但也可以手动完成。单元测试的目标......
  • 大数据、数据挖掘、机器学习、数据分析等专业的数据源网站——案例数据下载
    现在的大学计算机开设了下面的几个方向:大数据、数据挖掘、机器学习、数据分析 但是,上面的   ================================= 数据分析方向推荐入门书: ......
  • 无涯教程-ASP.NET MVC - 模型绑定
    ASP.NETMVC模型绑定允许您将HTTP请求数据与模型进行映射,使用浏览器在HTTP请求中发送的数据创建.NET对象的过程。模型绑定是HTTP请求和C#操作方法之间精心设计的桥梁,由于POST和GET会自动传输到您指定的数据模型中,因此开发人员可以轻松使用表单上的数据,ASP.NETMVC使用默认联编......
  • 无涯教程-ASP.NET MVC - 选择器
    ActionSelector是可以应用于Action方法的属性,用于响应请求而调用哪种Action方法,它有助于路由引擎选择正确的操作方法来处理特定请求。在编写Action方法时,它起着至关重要的作用。这些选择器将根据操作方法来决定方法调用的行为,它通常用于为操作方法的名称加上别名。ActionSele......
  • 无涯教程-ASP.NET MVC - 控制器
    控制器本质上是ASP.NETMVC应用程序的中央单元,控制器决定将选择哪个模型,然后在呈现该视图之后,从模型中获取数据并将其传递给相应的视图。控制器是从System.Web.Mvc.Controller继承的C#类,System.Web.Mvc.Controller是内置的控制器基类,控制器中的每个公共方法都称为操作方法,这意味......