Maven配置JdbcTemplate完成数据查询

青旅半醒 2022-05-08 07:00 569阅读 0赞

目录

一、文章前言

二、使用步骤

2.1 配置Maven依赖

2.2 配置实体类

2.3 配置Spring文件

2.4 配置测试类

2.5 运行结果


一、文章前言

  1. 1.本篇文章使用Idea中使用Maven配置JdbcTemplate完成数据的查询
  2. 2.测试使用的版本为最新版:5.0.9.RELEASE系列
  3. 3.采用的是Spring+oracle+dbcp2+spring-jdbc架构模式,操作的数据表名是person
  4. 4.采用的目录结构如下
  • 实体类:com.codecoord.entity.Person
  • 测试类:com.codecoord.main.MainClass
  • Spring配置文件:src/main/resources

70

二、使用步骤

2.1 配置Maven依赖

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

    <?xml version=”1.0” encoding=”UTF-8”?>


    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 {

    1. private int id;
    2. private String name;
    3. private int age;
    4. public int getId() {
    5. return id;
    6. }
    7. public void setId(int id) {
    8. this.id = id;
    9. }
    10. public String getName() {
    11. return name;
    12. }
    13. public void setName(String name) {
    14. this.name = name;
    15. }
    16. public int getAge() {
    17. return age;
    18. }
    19. public void setAge(int age) {
    20. this.age = age;
    21. }
    22. @Override
    23. public String toString() {
    24. return "Person{" + "id=" + id + ", name=" + name + ", age=" + age + "}";
    25. }

    }

2.3 配置Spring文件

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

    <?xml version=”1.0” encoding=”UTF-8”?>






    thin:@localhost:1521:tianxin" />








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 {

    1. public static void main(String[] args) {
    2. // 创建Spring对象
    3. String config = "applicationContext.xml";
    4. ApplicationContext app = new ClassPathXmlApplicationContext(config);
    5. // 创建template
    6. JdbcTemplate template = app.getBean("jdbcTemplate", JdbcTemplate.class);
    7. // 创建SQL语句
    8. String sql = "select id,name,age from person";
    9. // 创建Mapper,BeanPropertyRowMapper传入对象类,将会自动映射结果
    10. RowMapper<Person> mapper = new BeanPropertyRowMapper<>(Person.class);
    11. // 查询结果query(sql语句,Mapper对象); 会返回List集合
    12. List<Person> persons = template.query(sql, mapper);
    13. // 遍历数据
    14. for (Person i : persons) {
    15. System.out.println("数据:" + i);
    16. }
    17. }

    }

2.5 运行结果

  1. 数据:Person{id=1, name=Spring, age=20}
  2. 数据:Person{id=2, name=Hibernate, age=21}
  3. 数据:Person{id=3, name=Struts, age=22}
  4. 数据:Person{id=4, name=SpringMVC, age=23}
  5. 数据:Person{id=5, name=MyBatis, age=24}
  6. 数据:Person{id=6, name=Redis, age=21}
  7. 数据:Person{id=7, name=MongoDB, age=20}
  8. Process finished with exit code 0

发表评论

表情:
评论列表 (有 0 条评论,569人围观)

还没有评论,来说两句吧...

相关阅读