6、Spring_Junit与JdbcTemplate整合

Spring 整合

1.Spring 整合 Junit

1.1新建项目结构

1.2导入依赖

  • 导入 junit 与 Spring 依赖

    java 复制代码
    <!--        添加 spring 依赖-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.17.RELEASE</version>
    </dependency>
    <!--        添加 junit 依赖-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
        <!--        添加 spring test 整合依赖-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>5.2.7.RELEASE</version>
    </dependency>

1.3正常的写 spring 代码

  • 添加 mapper

    java 复制代码
    @Repository
    public class StudentMapperImpl implements StudentMapper {
        public void save() {
            System.out.println("保存操作");
        }
    }
  • 添加配置类

    java 复制代码
    @Configuration
    @ComponentScan("cn.sycoder")
    public class SpringConfig {
    }

1.4通过测试类拿去mapper

  • 先建立测试类

    java 复制代码
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = {SpringConfig.class})
    public class StudentTest {
        @Autowired
        private StudentMapper studentMapper;
    
    
        @Test
        public void testStudentMapper(){
            studentMapper.save();
        }
    
    }

1.5@Runwith

说明 @Runwith
位置 测试类上方
作用 测试类注解,设置 junit 运行器的
属性 使用测试运行的环境,SpringJUnit4ClassRunner.class

1.5@ContextConfiguration

说明 @ContextConfiguration
位置 测试类上方
作用 设置 junit 加载 spring 配置类
属性 classes:核心配置类,可以传入多个 locations:配置文件的文件路径名称

2.Spring整合JdbcTemplate

  • 概述:jdbcTemplate 是 spring 对于学过的 jdbc 的封装,实现了方便操作数据库

2.1导入依赖

  • 导入依赖

    java 复制代码
    <!--        添加 orm 依赖-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>5.2.17.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.29</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.2.8</version>
            </dependency>
        <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.22</version>
            </dependency>

2.2建立 jdbc.propreties

  • 创建配置文件

    properties 复制代码
    jdbc.username=root
    jdbc.password=123456
    jdbc.driverClassName=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/mybatis

2.3配置druid 连接池

  • 配置类

    java 复制代码
    @Configuration
    @PropertySource("jdbc.properties")
    public class DruidConfig {
        @Value("${jdbc.username}")
        private String username;
        @Value("${jdbc.password}")
        private String password;
        @Value("${jdbc.url}")
        private String url;
        @Value("${jdbc.driverClassName}")
        private String driver;
    
    
        @Bean
        public DataSource dataSource(){
            final DruidDataSource source = new DruidDataSource();
            source.setUsername(username);
            source.setPassword(password);
            source.setDriverClassName(driver);
            source.setUrl(url);
            return source;
        }
    
    }
  • 配置 jdbcTemplate 类

    java 复制代码
    @Configuration
    @PropertySource("jdbc.properties")
    public class DruidConfig {
       @Value("${jdbc.username}")
        private String username;
        @Value("${jdbc.password}")
        private String password;
        @Value("${jdbc.url}")
        private String url;
        @Value("${jdbc.driverClassName}")
        private String driver;
    
    
        @Bean
        public DataSource dataSource(){
            final DruidDataSource source = new DruidDataSource();
            source.setUsername(username);
            source.setPassword(password);
            source.setDriverClassName(driver);
            source.setUrl(url);
            return source;
        }
        
        @Bean
        public JdbcTemplate jdbcTemplate(DataSource dataSource){
            JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
            return jdbcTemplate;
        }
    
    }

2.4修改 mapper 实现类做保存和查询操作

  • 修改保存

    java 复制代码
    @Repository
    public class StudentMapperImpl implements StudentMapper {
    
        @Autowired
        private JdbcTemplate template;
    
        public void save() {
            String sql = "insert into student value(null,?,?)";
            template.update(sql,"sy",18);
        }
    
        public Student getById(Long id) {
            Object student = template.queryForObject("select * from student where id = ?",
                    new BeanPropertyRowMapper(Student.class), id);
            return (Student) student;
    //        return null;
        }
    }
相关推荐
熊大如如6 小时前
Java 反射
java·开发语言
猿来入此小猿6 小时前
基于SSM实现的健身房系统功能实现十六
java·毕业设计·ssm·毕业源码·免费学习·猿来入此·健身平台
goTsHgo7 小时前
Spring Boot 自动装配原理详解
java·spring boot
卑微的Coder7 小时前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
pjx9877 小时前
微服务的“导航系统”:使用Spring Cloud Eureka实现服务注册与发现
java·spring cloud·微服务·eureka
炒空心菜菜7 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
多多*8 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥8 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql
唐僧洗头爱飘柔95279 小时前
【SSM-SSM整合】将Spring、SpringMVC、Mybatis三者进行整合;本文阐述了几个核心原理知识点,附带对应的源码以及描述解析
java·spring·mybatis·springmvc·动态代理·ioc容器·视图控制器
骑牛小道士9 小时前
Java基础 集合框架 Collection接口和抽象类AbstractCollection
java