【java】JdbcTemplate的简单使用

目录

        • 一、pom依赖
        • 二、实体类
        • 三、数据库脚本
        • 四、测试类
        • 五、截图示例

一、pom依赖



    4.0.0

    com.learning
    jdbc
    1.0-SNAPSHOT

    
        8
        8
    

    
        
            mysql
            mysql-connector-java
            8.0.21
        
        
            org.springframework
            spring-jdbc
            5.3.26
        
        
            com.alibaba
            druid
            1.2.16
        
        
            org.projectlombok
            lombok
            1.18.26
        
    

二、实体类

package com.learning;

import lombok.Data;

@Data
public class Student {
    private String id;
    private String name;
    private int age;
}

三、数据库脚本

# 建库语句
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */
# 建表语句
CREATE TABLE `student` (
  `id` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键id',
  `name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名',
  `age` int DEFAULT NULL COMMENT '年龄',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

# 数据
INSERT INTO `test`.`student`(`id`, `name`, `age`) VALUES ('1', '张三', 20);

四、测试类

package com.learning;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;

public class JdbcTemplateTest {
    private static DruidDataSource druidDataSource = new DruidDataSource();
    static {
        druidDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true");
        druidDataSource.setUsername("root");
        druidDataSource.setPassword("root");
    }

    private  T queryDatabase(Class beanClass, String sql, Object[] args) {
        JdbcTemplate jdbcTemplate = new JdbcTemplate(druidDataSource);
        BeanPropertyRowMapper beanPropertyRowMapper = new BeanPropertyRowMapper();
        beanPropertyRowMapper.setMappedClass(beanClass);
        List list = jdbcTemplate.query(sql, args, beanPropertyRowMapper);

        return list.get(0);
    }

    public static void main(String[] args) {
        JdbcTemplateTest jdbcTemplateTest = new JdbcTemplateTest();
        Student student = jdbcTemplateTest.queryDatabase(Student.class, "select * from student where id = ?", new Object[]{1});
        System.out.println(student);
    }
}

五、截图示例

在这里插入图片描述

你可能感兴趣的:(java,java)