Maven配置JdbcTemplate完成数据查询

目录

一、文章前言

二、使用步骤

2.1 配置Maven依赖

2.2 配置实体类

2.3 配置Spring文件

2.4 配置测试类

2.5 运行结果


一、文章前言

    1.本篇文章使用Idea中使用Maven配置JdbcTemplate完成数据的查询

    2.测试使用的版本为最新版:5.0.9.RELEASE系列

    3.采用的是Spring+oracle+dbcp2+spring-jdbc架构模式,操作的数据表名是person

    4.采用的目录结构如下

  • 实体类:com.codecoord.entity.Person
  • 测试类:com.codecoord.main.MainClass
  • Spring配置文件:src/main/resources

Maven配置JdbcTemplate完成数据查询_第1张图片

二、使用步骤

2.1 配置Maven依赖

  • junit
  • spring系列包
  • Oracle数据库驱动
  • 数据库连接池dbcp2
  • spring-dbc



    4.0.0

    com.codecoord
    JavaEEFrameReview
    1.0-SNAPSHOT
    war

    JavaEEFrameReview Maven Webapp
    
    http://www.example.com

    
        UTF-8
        1.8
        1.8
    

   
        
            junit
            junit
            4.12
        

        
        
            org.springframework
            spring-webmvc
            5.0.9.RELEASE
        

        
        
            com.oracle
            ojdbc6
            11.2.0.3
        

        
        
            org.apache.commons
            commons-dbcp2
            2.5.0
        

        
        
            org.springframework
            spring-jdbc
            5.0.9.RELEASE
        
    

2.2 配置实体类

  • 实现序列化
  • 必须提供setter和getter方法
  • 实现toString,便于输出结果
package com.codecoord.entity;

import java.io.Serializable;

// 实体类,对应数据表的person
public class Person implements Serializable {
    private int id;
    private String name;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" + "id=" + id + ", name=" + name + ", age=" + age + "}";
    }
}

2.3 配置Spring文件

  • 配置数据库连接池
  • 配置JdbcTemplate



    
    
        
        
        
        
    

    
    
        
    

2.4 配置测试类

  • 创建Spring实例:ApplicationContext
  • 使用实例方法getBean获取JdbcTemplate
  • 创建SQL查询语句-数据量比较少,全部查询
  • 创建Mapper,使用BeanPropertyRowMapper传入对象类,将会自动映射结果
  • 调用query(sql语句,Mapper对象); 方法会返回结果List集合
  • 使用foreach遍历
package com.codecoord.main;

import com.codecoord.entity.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import java.util.List;

public class MainClass {

    public static void main(String[] args) {
        // 创建Spring对象
        String config = "applicationContext.xml";
        ApplicationContext app = new ClassPathXmlApplicationContext(config);
        // 创建template
        JdbcTemplate template = app.getBean("jdbcTemplate", JdbcTemplate.class);

        // 创建SQL语句
        String sql = "select id,name,age from person";
        // 创建Mapper,BeanPropertyRowMapper传入对象类,将会自动映射结果
        RowMapper mapper = new BeanPropertyRowMapper<>(Person.class);

        // 查询结果query(sql语句,Mapper对象); 会返回List集合
        List persons = template.query(sql, mapper);

        // 遍历数据
        for (Person i : persons) {
            System.out.println("数据:" + i);
        }
    }
}

2.5 运行结果

数据:Person{id=1, name=Spring, age=20}
数据:Person{id=2, name=Hibernate, age=21}
数据:Person{id=3, name=Struts, age=22}
数据:Person{id=4, name=SpringMVC, age=23}
数据:Person{id=5, name=MyBatis, age=24}
数据:Person{id=6, name=Redis, age=21}
数据:Person{id=7, name=MongoDB, age=20}

Process finished with exit code 0

 

你可能感兴趣的:(03_Spring)