spring-210728-03---JdbcTemplate操作数据库-查询功能

使用 Spring JDBC Template 对数据库查询(登录)和删除(maven) 使用 Spring JDBC Template 对数据库查询(登录)和删除(maven),图文教程地址:https://blog.youkuaiyun.com/qq_40147863/article/details/86015509 立即下载

spring-210728-03—JdbcTemplate操作数据库-查询功能


演示

UserDao02.java(dao层接口)

package com.bgy.spring.dao;
import com.bgy.spring.entity.User;
import java.util.List;

public interface UserDao02 {

    // 查询表的记录行
    int seletCount();

    // 查询返回对象
    User finUserInfo(String id);

    // 查询返回集合
    List<User> finUserAll();
}

UserDaoImpl02.java(这里实现DQL操作)

package com.bgy.spring.dao;

import com.bgy.spring.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;

@Repository
public class UserDaoImpl02 implements UserDao02{

    // 注入JdbcTemplate
    @Autowired
    private JdbcTemplate jdbcTemplate;

    // 查询表的记录行
    /*
        jdbcTemplate.queryForObject(String sql , Class<T> requiredType);
            第一个参数:sql语句
            第二个参数:返回类型class
     */
    @Override
    public int seletCount() {
        String sql = "select count(*) from t_user";
        Integer count = jdbcTemplate.queryForObject(sql, Integer.class);
        return count;
    }

    // 查询返回对象
    /*
        jdbcTemplate.queryForObject(String sql , RowMapper<T> rowMapper , Object... args)
            第一个参数:sql语句
            第二个参数:RowMapper,是一个接口,返回不同的数据类型,使用这个接口里面的实现类完成数据的封装。
            第三个参数:sql语句中的值
     */
    @Override
    public User finUserInfo(String id) {
        String sql = "select * from t_user where user_id=?";

        User user = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), id);
        return user;
    }

    // 查询返回集合
    /*
        jdbcTemplate.query(String sql , RowMapper<T> rowMapper , Object... args)
        第一个参数:sql语句
        第二个参数:RowMapper,是一个接口,返回不同的数据类型,使用这个接口里面的实现类完成数据的封装。
        第三个参数:sql语句中的值
     */
    @Override
    public List<User> finUserAll() {
        String sql = "select * from t_user";

        List<User> userList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<User>(User.class));
        return userList;
    }
}

UserService02.java(这里调用dao)

package com.bgy.spring.service;

import com.bgy.spring.dao.UserDao02;
import com.bgy.spring.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService02 {

    // 注入UserDao02
    @Autowired
    private UserDao02 userDao02;


    /**
     * 查询表的记录行
     * @return
     */
    public int findCount(){
        return userDao02.seletCount();
    }

    /**
     * 查询返回对象
     * @return User
     */
    public User findUserInfo(String id){
        return userDao02.finUserInfo(id);
    }


    /**
     * 查询查询返回集合
     * @return User
     */
    public List<User> findUserAll(){
        return userDao02.finUserAll();
    }
}

TestUser02.java(测试)

import com.bgy.spring.entity.User;
import com.bgy.spring.service.UserService02;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

public class TestUser02 {

    /**
     * 测试查询表的记录行
     */
    @Test
    public void test01(){
        ApplicationContext context = new ClassPathXmlApplicationContext("bean01.xml");

        UserService02 userService02 = context.getBean("userService02", UserService02.class);

        int count = userService02.findCount();
        System.out.println(count);
    }

    /**
     * 测试查询返回对象
     */
    @Test
    public void test02(){
        ApplicationContext context = new ClassPathXmlApplicationContext("bean01.xml");

        UserService02 userService02 = context.getBean("userService02", UserService02.class);

        User userInfo = userService02.findUserInfo("1003");
        System.out.println(userInfo);
        System.out.println(userInfo.getUserId());
        System.out.println(userInfo.getUsername());
        System.out.println(userInfo.getUstatus());
    }

    /**
     * 测试查询返回集合
     */
    @Test
    public void test03(){
        ApplicationContext context = new ClassPathXmlApplicationContext("bean01.xml");

        UserService02 userService02 = context.getBean("userService02", UserService02.class);

        List<User> userAll = userService02.findUserAll();

        System.out.println(userAll);
    }
}

bean01.xml(Spring配置文件)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
                           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">


    <!-- 开启组件扫描 -->
    <context:component-scan base-package="com.bgy.spring"></context:component-scan>

    <!-- 数据库连接池 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          destroy-method="close">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/spring_test_210728_01?serverTimezone=UTC&amp;useSSL=false" />
        <property name="username" value="root" />
        <property name="password" value="admin" />
    </bean>

    <!-- 创建JdbcTemplate对象 -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

        <!-- 注入DataSource -->
        <property name="dataSource" ref="dataSource"></property>

    </bean>
</beans>

User.java(实体类)

package com.bgy.spring.entity;

public class User {
    private String userId;
    private String username;
    private String ustatus;

    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getUstatus() {
        return ustatus;
    }
    public void setUstatus(String ustatus) {
        this.ustatus = ustatus;
    }
    
    @Override
    public String toString() {
        return "User{" +
                "userId='" + userId + '\'' +
                ", username='" + username + '\'' +
                ", ustatus='" + ustatus + '\'' +
                '}';
    }
}
绕过ROS2!在RDK X5上直接用Python调用海康相机C++ SDK的避坑指南 本文详细介绍了在RDK X5上绕过ROS2,直接使用Python调用海康相机C++ SDK的轻量化方案。通过Cython构建Python绑定,提取海康相机SDK核心组件,实现高效图像采集。文章涵盖环境准备、Cython接口设计、编译系统配置及性能优化技巧,特别适合ARM64平台开发者。 阅读详情

相关推荐

XianYuAutoDeliveryX:基于闲鱼API与大模型的智能自动发货系统实践

本文详细介绍了如何利用XianYuAutoDeliveryX系统,结合闲鱼API与大语言模型,构建一个智能自动发货解决方案。该系统能实现买家付款后秒级自动发货,并通过对接ChatGPT等大模型智能回复买家咨询,有效解放卖家时间,提升虚拟商品店铺的运营效率和客户体验。

bush的博客 1015

使用jdbcTemplate 带多个参数查询

使用jdbcTemplate 带多个参数查询

wd8888888的博客 1728

群晖NAS安装HomeAssistant保姆级教程:从Docker部署到智能设备接入

本文提供了一份详尽的群晖NAS安装HomeAssistant保姆级教程,涵盖从Docker部署到智能设备接入的全过程。通过规划存储路径、配置容器环境变量和网络模式,确保系统稳定运行。教程还介绍了如何接入小米、苹果HomeKit等智能家居设备,并利用自动化与仪表盘打造本地化、高响应速度的智能中枢,实现数据隐私与远程控制的完美平衡。

play7的博客 694

Spring之jdbcTemplate

JdbcTemplate概述 它是spring框架提供的一个对象,是对原始Jdbc API对象的简单封装,是用来操作关系型数据的 JdbcTemplate的作用:用于和数据库交互,实现对表的CRUD操作 准备工作 导入maven依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactI

weixin_45608165的博客 198

EBSD数据转ABAQUS的inp文件实操指南

晶体塑性有限元模拟中,如何将材料微观组织表征数据转化为可计算的有限元模型,是连接实验与仿真的关键环节。EBSD技术能够获取材料表面的晶体取向、晶粒形貌和晶界分布信息,但这类数据需要经过格式解析、欧拉角转换、网格生成等步骤,才能被ABAQUS等有限元软件读取。通过将扫描点坐标映射为节点、按像素邻域生成单元,并将Bunge约定欧拉角变换为局部坐标系方向余弦,用户可以准确构建包含真实微观结构的inp文件模型。这一流程广泛应用于金属材料形变、织构演化及应力集中分析等研究场景,有效提升仿真结果与实验的一致性。围绕数据

weixin_42509513的博客 310

拆开一个烧坏的IGBT模块,手把手教你识别过压、过流、过温的“案发现场”

本文详细解析了IGBT模块失效分析的实战技巧,通过观察铝层熔化纹路、焊锡溢出形态等物理痕迹,手把手教你识别过压、过流、过温的典型失效模式。文章提供了从基础工具包到现场快速诊断的完整流程,帮助工程师精准定位IGBT模块失效的根本原因。

weixin_30655569的博客 425

(IDEA)Spring的数据库编程-JdbcTemplate

在MySQL中,可以使用execute方法来执行各种SQL语句,如create(创建表)、drop(删除表)、alter(修改表结构)、truncate(清空表数据)、rename(重命名表)等操作。通过使用update语句,可以指定要更新的表名、要更新的字段和对应的数值,以及更新的条件。通过使用select语句,可以指定要查询的字段、要查询的表名,以及查询的条件。简化的API:JdbcTemplate提供了一组简单易用的方法来执行常见的数据库操作,例如查询、更新和存储过程调用。

qq_74329022的博客 1216

Mamba-YOLO训练前必看:从环境配置到数据集调整的完整流程

本文详细介绍了Mamba-YOLO目标检测框架的完整训练流程,包括环境配置、数据集优化和模型调参。从硬件准备到依赖安装,再到数据增强和超参数调整,提供了一系列实用技巧和常见问题解决方案,帮助开发者高效训练Mamba-YOLO模型,避免常见踩坑记录。

tech5的博客 827

spring-使用JdbcTemplate实现根据id进行查询

一、创建spring项目 项目名称:spring101306二、在项目上添加jar包 1.在项目中创建lib目录 /lib 2.在lib目录下添加spring支持 commons-logging.jar junit-4.10.jar log4j.jar mysql-c...

weixin_34303897的博客 2594

YOLO26涨点改进 | 细节涨点篇 | 源自SCI一区 | YOLO26引入HWD小波下采样模块,而不会显著增加计算开销,(适合小目标分割任务、小目标检测任务)

本文提出了一种基于Haar小波变换的下采样模块HWD,用于改进YOLO26目标检测性能。HWD模块通过小波变换降低特征图分辨率,同时将空间信息编码到通道维度,有效保留了关键信息。相比传统下采样方法,HWD能显著减少信息不确定性,提升小目标检测精度。实验表明,该模块可无缝集成到CNN架构中,不增加计算开销。文章详细介绍了HWD的实现原理、代码结构以及在YOLO26中的集成方法,并提供了两种改进版yaml配置文件。该创新模块已在多种数据集上验证有效,特别适合语义分割和目标检测任务。

Ai缝合怪、助力小伙伴高效发论文 401

【YOLOs-CPP-图像分类部署】04-项目优化(加速部署)

本文详细介绍了将YOLO图像分类C++部署项目从CMake迁移到Visual Studio控制台应用的全过程。针对低配CPU性能瓶颈问题,作者通过替换多线程HPP代码为官方实现,并采用448x448固定输入尺寸优化推理速度。项目配置包含OpenCV和ONNX Runtime环境设置,实现了图像批量处理、分类结果显示及结果日志输出功能。关键步骤包括依赖库配置、DLL部署和代码调试,最终在Windows平台成功实现高效CPU推理。该方案显著提升了低配硬件的兼容性,为图像分类任务提供了稳定的部署解决方案。

深耕CV 354

JdbcTemplate查询操作

目录查询操作查询所有 查询单个聚合查询 知识要点总结查询操作需要放入字节码对象.class 数据库中 运行结果 运行结果 是一个实体就new一个对象,但是一个简单的数据,则创建一个普通的数据...

weixin_60719453的博客 4854

拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...

拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...

银行信息系统应用架构详解 883

Javaee spring jdbctemplate查询数据库,基于纯注解实现

为啥要用纯注解方式呢?因为xml中代码还是有点多,纯注解可以解决该问题现在要做的很简单,就是用新建的SpringConfig这个类去替代xml在测试类中加载核心配置类SpringConfig类中@Configuratio Spring.xml配置类--开启注解扫描-->--加载属性配置文件-->--数据源-->--JdbcTempalte层-->

qq_64005599的博客 957

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

JDBCTEMPLATE 的基本使用----查询操作26

1、再讲一下聚合查询,首先我们先讲一下查询全部,copy一下代码:ROWapper是一个接口,返回的数据是List 1.1 Row 是行, Mapper映射,我们要用接口帮我们去完成数据实体类的封装这件事情: 2,看一下他的实现类型,shift,shift 2.1 找spring这个 3、就是给你进行封装的 4、选中Rowmapper摁住ctrl + alt + b,下面都是对应的实现 5、属性,行映射 6、第二个接口时什么rowMapper接口,一个对应的实现,给他对

weixin_54048131的博客 1390

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

JDBCTemplate和MySQL连接技术详解(下)

字符串拼接?站位相同动态拼接sql中的数据参数动态拼接SQL中的数据参数不同可以绑定非数据的参数:表名、字段名、SQL关键字只能绑定数据,不能绑定其他SQL关键词和表名字段名有SQL注入风险可以防止SQL注入。建议场景适用于拼接表名、字段名、SQL关键词适用于拼接数据参数。

z122899的博客 1224

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JdbcTemplate+参数解析+查询操作示例、更新操作示例、批量操作示例、PreparedStatement操作示例

JdbcTemplate提供了PreparedStatement操作的API,可以通过PreparedStatementCreator接口创建预编译的SQL语句,然后使用PreparedStatementCallback回调函数实现对数据库的操作。JdbcTemplate是Spring框架中的一个核心模块,用于简化JDBC编程,提供了一种简单的方式来访问数据库、执行SQL语句和处理ResultSet结果集。JdbcTemplate提供了批量操作的功能,可以实现批量插入、批量更新和批量删除等多种操作。

明月安的博客 5394

JDBC自定义框架

自定义JDBC框架: DataBaseMetaData:数据库的源信息 java.sql.DataBaseMetaData:封装了整个数据库的综合信息 例如: String getDatabaseProductName():获取数据库产品的名称 int getDatabaseProductVersion():获取数据库产品的版本号 ParameterMetaData:参数的源信息 java.sql.ParameterMetaData:封装的是预编译执行者对象中每个参数的类型和属性 这个对

itzhuzhu的博客 2277

使用JdbcTemplate实现Oracle分页查询

使用JdbcTemplate实现Oracle分页查询的高效方法

qq_45041965的博客 1945

java开发转游戏开发,一文说清!

基础 JAVA基础 JAVA集合 JAVA多线程并发 网络 数据结构与算法 框架 Spring SpringMVC MyBatis 设计模式 分布式 负载均衡 Zookeeper Redis MQ/kafka 微服务 Netty与RPC Spring Boot Spring Cloud Dubbo 调优 MySQL JVM Tomcat 最后 小编在这里分享些我自己平时的学习资料,由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来

程序员环西 1816

Spring JdbcTemplate.queryForMap()

在本文中,我们将学习JdbcTemplate.queryForMap使用方法。它执行给定的SQL,将查询与给定的参数绑定。查询应为单行查询。此方法返回结果为Map。JdbcTemplate.queryForMap期望参数如下。执行静态 SQL 并返回Map。此方法使用 JDBC Statement,而不是 PreparedStatement。查询应为单行查询。结果将映射到 Map。列名是Map的键和列值是该Map键的值。

allway2的博客 6299

Spring Boot中的JdbcTemplate是什么,如何使用

JdbcTemplate是Spring Framework的一部分,它提供了一个高级的数据库访问抽象层,使得数据库操作变得更容易。JdbcTemplate简化了数据库连接、SQL查询和数据提取的过程,并提供了异常处理和资源管理。它是Spring Boot应用程序与关系型数据库之间的桥梁,支持多种数据库,包括MySQL、PostgreSQL、Oracle等。数据库连接管理:JdbcTemplate自动管理数据库连接的打开和关闭,确保了连接的有效使用。SQL执行。

徐师兄的博客 964

jdbcTemplate 查询

1.jdbcTemplate.queryForObject 返回的单行单列的数据。相当于查询数据有多少列。String Sql=select count(*) count from S_JFLHHMD jflhndcsid=? String forObject = jdbcTemplate.queryForObject(Sql, String.class(Integer,class), jfl

zcouy的博客 2913

15、Spring框架JdbcTemplate类中查询方法介绍

Spring框架中org.springframework.jdbc.core包提供了JDBC模板类,其中JdbcTemplate是core包的核心类,其他模板类都是基于它封装完成的。       Spring除了提供JdbcTemplate核心类外,还提供了基于JdbcTemplate实现的NamedParameterJdbcTemplate类用于支持命名参数绑定、 SimpleJdbcTemp

Learning 2676

Springboot--使用JdbcTemplate访问数据库

导入依赖 在 pom.xml 中添加对 JdbcTemplate 的依赖: &lt;!-- Spring JDBC 的依赖包,使用 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa 将会自动获得HikariCP依赖 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springfra...

qq_25129863的博客 356

`JDBCTemplate`基本查询详解

JDBCTemplate Spring框架对JDBC进行封装,使用JDBCTemplate方便实现对数据库操作 JDBCTeamplate使用步骤: 1.引入相关的jar包 druid mysql-connector srping-jdbc sprint-tx spring-orm 2.创建数据库连接池properties文件 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.user

weixin_47267628的博客 6803
上一篇: spring-210728-02---JdbcTemplate操作数据库-添加&修改&删除功能
下一篇: spring-210728-04---JdbcTemplate操作数据库-批量添加&修改&删除
白光一
博客等级 码龄9年 0粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值