当前位置:首页 > Java

java如何取出数据库数据

2026-03-03 15:39:51Java

使用JDBC连接数据库

在Java中通过JDBC(Java Database Connectivity)连接数据库需要加载驱动、建立连接。以MySQL为例,需添加驱动依赖(如mysql-connector-java),示例代码如下:

Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/db_name";
String user = "username";
String password = "password";
Connection connection = DriverManager.getConnection(url, user, password);

执行SQL查询

通过StatementPreparedStatement执行SQL查询。推荐使用预编译的PreparedStatement防止SQL注入:

String sql = "SELECT * FROM table_name WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, 123); // 设置参数
ResultSet resultSet = statement.executeQuery();

处理查询结果

遍历ResultSet获取数据,注意按列名或索引提取对应类型的数据:

while (resultSet.next()) {
    int id = resultSet.getInt("id");
    String name = resultSet.getString("name");
    System.out.println("ID: " + id + ", Name: " + name);
}

关闭资源

操作完成后必须关闭连接、Statement和ResultSet以释放资源:

java如何取出数据库数据

resultSet.close();
statement.close();
connection.close();

使用连接池优化性能

高并发场景建议使用连接池(如HikariCP、Druid)。以HikariCP为例:

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/db_name");
config.setUsername("username");
config.setPassword("password");
HikariDataSource dataSource = new HikariDataSource(config);

try (Connection connection = dataSource.getConnection()) {
    // 执行查询...
}

结合ORM框架简化操作

使用MyBatis或Hibernate等ORM框架可减少样板代码。MyBatis示例:

java如何取出数据库数据

  1. 定义Mapper接口:

    public interface UserMapper {
     @Select("SELECT * FROM users WHERE id = #{id}")
     User getUserById(int id);
    }
  2. 通过SqlSession调用:

    try (SqlSession session = sqlSessionFactory.openSession()) {
     UserMapper mapper = session.getMapper(UserMapper.class);
     User user = mapper.getUserById(123);
    }

异常处理

数据库操作需处理SQLException,建议结合try-with-resources确保资源释放:

try (Connection conn = dataSource.getConnection();
     PreparedStatement stmt = conn.prepareStatement(sql)) {
    // 操作逻辑
} catch (SQLException e) {
    e.printStackTrace();
}

标签: 数据库数据
分享给朋友:

相关文章

vue实现数据拖动

vue实现数据拖动

Vue 实现数据拖动 使用 HTML5 拖放 API HTML5 提供了原生的拖放 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 drop 事件…

Vue数据绑定实现

Vue数据绑定实现

Vue 数据绑定的核心机制 Vue 的数据绑定基于响应式系统,通过 Object.defineProperty 或 Proxy 实现。当数据变化时,视图自动更新。 双向绑定的实现方式 v-model…

vue实现数据筛选

vue实现数据筛选

数据筛选的实现方式 在Vue中实现数据筛选可以通过计算属性、方法或第三方库完成。以下是几种常见的方法: 计算属性筛选 使用计算属性对数组数据进行筛选,具有缓存特性,适合静态或较少变化的数据。 co…

vue 实现数据滚动

vue 实现数据滚动

Vue 实现数据滚动的方法 在Vue中实现数据滚动可以通过多种方式完成,以下是几种常见的实现方法: 使用CSS动画实现滚动 通过CSS的animation和@keyframes可以实现简单的滚动效果…

vue实现数据多级显示

vue实现数据多级显示

Vue 实现多级数据展示 在 Vue 中实现多级数据展示通常涉及递归组件或嵌套循环。以下是几种常见方法: 递归组件实现 递归组件适合处理不确定层级深度的树形结构数据: <templa…

vue怎么实现数据监听

vue怎么实现数据监听

Vue 数据监听实现方式 Vue 提供了多种方式监听数据变化,以下是常用的方法: 使用 watch 选项 在 Vue 组件中可以通过 watch 选项监听特定数据的变化: export defau…