Java读取数据库表的示例代码

目录
  • Java读取数据库表
  • 新手引导
    • Logger
    • Connection
    • ResultSet
    • ResultSet中next()方法
    • name和comment

Java读取数据库表

package com.easycrud.builder;
import com.easycrud.utils.PropertiesUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.sql.*;
/**
 * @BelongsProject: EasyCrud
 * @BelongsPackage: com.easycrud.builder
 * @Author: xpx
 * @Email: 2436846019@qq.com
 * @CreateTime: 2023-05-02  18:02
 * @Description: 读Table
 * @Version: 1.0
 */
public class BuildTable {
    private static final Logger logger = LoggerFactory.getLogger(BuildTable.class);
    private static Connection conn = null;
    /**
     * 查表名和表注释
     */
    private static String SQL_SHOW_TABLE_STATUS = "show table status";
    /**
     * 读配置,连接数据库
     */
    static {
        String driverName = PropertiesUtils.getString("db.driver.name");
        String url = PropertiesUtils.getString("db.url");
        String user = PropertiesUtils.getString("db.username");
        String password = PropertiesUtils.getString("db.password");
        try {
            Class.forName(driverName);
            conn = DriverManager.getConnection(url,user,password);
        } catch (Exception e) {
            logger.error("数据库连接失败",e);
        }
    }
    /**
     * 读取表
     */
    public static void getTables() {
        PreparedStatement ps = null;
        ResultSet tableResult = null;
        try{
            ps = conn.prepareStatement(SQL_SHOW_TABLE_STATUS);
            tableResult = ps.executeQuery();
            while(tableResult.next()) {
                String tableName = tableResult.getString("name");
                String comment = tableResult.getString("comment");
                logger.info("tableName:{},comment:{}",tableName,comment);
            }
        }catch (Exception e){
            logger.error("读取表失败",e);
        }finally {
            if (tableResult != null) {
                try {
                    tableResult.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (ps != null) {
                try {
                    ps.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

新手引导

Logger

Java自带的日志。

常见用法如下,打印日志信息:

logger.error("数据库连接失败",e)

logger.info("tableName:{},comment:{}",tableName,comment),{}是占位符

LoggerFactory.getLogger(xxx.class)

指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在类。

Connection

Connection 对象用于打开与数据源的连接。

Class.forName(driverName)

加载驱动程序。

DriverManager.getConnection(url,user,password)

获取数据库连接。

PreparedStatement

用来执行SQL查询语句的 API 之一。

ResultSet

结果集 (ResultSet) 是数据中查询结果返回的一种对象,结果集是一个存储查询结果的对象。

ps = conn.prepareStatement(SQL_SHOW_TABLE_STATUS)

执行前会对SQL语句进行预编译的操作,然后就开始执行SQL语句,并返回结果。

tableResult = ps.executeQuery()

把数据库响应的查询结果存放在ResultSet类对象中供我们使用。

ResultSet中next()方法

ResultSet中指针的初始位置位于第一行之前;第一次调用next()方法将会把第一行设置为当前行。

name和comment

分别代表执行数据库show table status语句后查询出的表名和表注释。配合ResultSet的getString()方法得到对应值。

到此这篇关于Java读取数据库表 的文章就介绍到这了,更多相关Java读取数据库表 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springBoot下实现java自动创建数据库表

    SpringBoot环境启动项目创建数据库表 使用环境 windows+eclipse+mysql+navicat 步骤 1.创建SpringBoot项目 2.新建数据库,配置连接信息 3.编写初始化数据库表类 4.运行查看结果 1.创建SpringBoot项目 关于如何创建SpringBoot项目不再详细描述,只要创建一个可以运行的SpringBoot项目就行. 2.新建数据库,配置连接信息 2.1 新建数据库 打开Navicat新建一个Mysql连接(连接信息如用户名,密码记好,下面配置连接

  • java代码获取数据库表里数据的总数操作

    在访问数据库时,特别是新手,可能会需要查询表中数据总数,以下这段代码可以非常简便的获取到数据数目 //先建立数据库连接,执行查询语句 Connection conn = DriverManager.getConnection(URL, USER, PassWord); Statement st=conn.createStatement(); ResultSet rs =st.executeQuery("select count(*) as result from tablename")

  • Java游戏服务器之数据库表存取封装

    项目涉及的数据库表并不多,但每个select.insert.update和delete都去手动拼接字符串,是很低效的,尤其在时常要修改结构的情况下.开发的一个目标就是自动化,即能自动实现的事情就不要手动去做:还有一个原则是单一化,即尽量保证数据或逻辑一个入口一个出口.这个需求可以使用一些开源库解决,但因为需求简单,目标明确,没有必要引入多余的第三方库.于是自己写了一个,至少满足当前需求. 数据库表的封装,核心类有两个,表(Table)和记录(Record).首先需要一个Table类保存数据库表结

  • Java通过数据库表生成实体类详细过程

    目录 项目背景 项目代码 使用说明 配置相关 swagger操作 目前的缺点 项目背景 最近在做的项目,涉及到数据库的操作了,之前做的是直接调用接口,不用做存库操作. 因此要增加大量特殊格式的实体类.比如我们用的是 JPA ,要增加一些注解,额外还有 lombok 的一些注解. 所以,这个项目的目的是,根据数据库中的某张表,生成与之对应的实体类.使用的技术是Freemarker 模板引擎,自定义了实体的模板. 最终的目标是,生成实体类的内容即可.有需要的朋友,可以改改,直接生成java文件.我这

  • 如何让java只根据数据库表名自动生成实体类

    根据数据库表名生成实体类 公司用的jpa,没有用mybatis.所以也没有用mybatis自动生成.但有些数据库表字段太多,就想着一劳永逸了,连数据库注释都搞上去 第一种 这里使用的是jdbcTemplate+Junit测试生成,方式可变. SpringBoot版本是2.4.4,只需要加上@SpringBootTest就可以了.不用@RunWith pom: <dependency> <groupId>org.springframework.boot</groupId>

  • 利用JAVA反射,读取数据库表名,自动生成对应实体类的操作

    本代码是利用java反射,读取数据库表自动根据表名生成实体类,数据库采用老牌SQLSERVER 2000,驱动为JTDS,其他数据库可根据情况自定修改. 代码中包含了大部分数据库类型与JAVA类型的转换,少数未包含进去的会在生成代码时打印出来,方面后期查找修改. import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.sq

  • 基于java线程池读取单个SQL数据库表

    任务:基于线程池来操作MySQL,测试单台机器读写MySQL单表的效率. 思路:创建一个大小合适的线程池,让每个线程分别连接到数据库并进行读取输出操作. 连接到数据库 import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.Statement; public class TEXT { } class MySQLOpen { private Connection con = null; p

  • java读取csv文件内容示例代码

    复制代码 代码如下: package com.huateng.readcsv; import java.io.BufferedReader;import java.io.FileReader;import java.util.ArrayList;import java.util.Iterator;import java.util.List; public class CsvUtil {        private String fileName = null;        private B

  • Java中利用Alibaba开源技术EasyExcel来操作Excel表的示例代码

    一.读Excel 1.Excel表格示例 2.对象示例 @Data public class DemoData { private String string; private Date date; private Double doubleData; } 3.监听器(重点部分) // 有个很重要的点 DemoDataListener 不能被spring管理,要每次读取excel都要new,然后里面用到spring可以构造方法传进去 public class DemoDataListener e

  • Java 使用geotools读取tiff数据的示例代码

    Java中如果要解析tiff,其实很多时候,我们都选择gdal的Java库来实现,毫无疑问,gdal确实在GIS数据处理方面非常的强悍,其实Geotools中很多有关栅格数据的解析,也是基于Gdal进行的封装,今天就简单了解使用GeoTools来解析Tiff数据. package com.dudu.gis; import org.geotools.gce.geotiff.GeoTiffReader; import org.geotools.geometry.GeneralEnvelope; im

  • python读取Windows注册表的示例代码

    运行结果 代码 import winreg def read_reg(): location = r"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" # 获取注册表该位置的所有键值 key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, location) print("\n" + "-"*100 + "\

  • SpringBoot读取excel表格的示例代码

    SpringBoot读取excel表格 共同探讨,向各位大佬学习 走向CEO,迎娶白富美 pom.xml依赖 <!--springboot核心依赖--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</vers

  • Java实现树形结构的示例代码

    目录 前言 数据库表结构 实现思路 具体代码 1.造数据,和数据库表数据一致 2.树型结构实体类 前言 由于业务需要,后端需要返回一个树型结构给前端,包含父子节点的数据已经在数据库中存储好,现在需要做的是如何以树型结构的形式返给给前端. 数据库表结构 实现思路 1.拿到有父子节点的集合数据 2.遍历集合数据,拿到所有的根节点 3.遍历根节点,拿到所有的子节点 4.递归子节点,将递归的子节点接上其父节点,直到子节点为空,递归完成 5.递归好后以集合形式返回,返回前端时以JSON格式转换后返回 具体

  • java根据数据库表内容生产树结构json数据的方法

    1.利用场景 组织机构树,通常会有组织机构表,其中有code(代码),pcode(上级代码),name(组织名称)等字段 2.构造数据(以下数据并不是组织机构数据,而纯属本人胡编乱造的数据) List<Tree<Test>> trees = new ArrayList<Tree<Test>>(); tests.add(new Test("0", "", "关于本人")); tests.add(new

  • C++解密Chrome80版本数据库的方法示例代码

    谷歌浏览器Google Chrome 80正式版例行更新详细版本80.0.3987.163.Google Chrome浏览器又称谷歌浏览器采用Chromium内核全球最受欢迎的免费网页浏览器追求速度.隐私安全的网络浏览器. 先说下吧.chrome80以前的版本是直接可以通过DPAPI来进行解密的.关于DPAPI 大家可以 看这里的介绍 DPAPI是Windows系统级对数据进行加解密的一种接口无需自实现加解密代码微软已经提供了经过验证的高质量加解密算法提供了用户态的接口对密钥的推导存储数据加解密

  • Java 设置Excel条件格式示例代码(高亮条件值、应用单元格值/公式/数据条等类型)

    概述 在Excel中,应用条件格式功能可以在很大程度上改进表格的设计和可读性,用户可以指定单个或者多个单元格区域应用一种或者多种条件格式.本篇文章,将通过Java程序示例介绍条件格式的设置方法,设置条件格式时,因不同设置需要,本文分别从以下示例要点来介绍: 示例1: 1. 应用条件格式用于高亮重复.唯一数值 2. 应用条件格式用于高亮峰值(最高值.最低值) 3. 应用条件格式用于高亮低于或高于平均值的数值 示例2: 1. 应用单元格值类型的条件格式 2. 应用公式类型的条件格式 3. 应用数据条

随机推荐