SpringDao操作——访问数据库

第一步访问数据库

1.做相关的准备工作

  新建一个java项目 (SpringDaoTest)
  新建一个lib:首先ioc是基础,一定要把ioc的包放进去,然后是JDBC的包,然后是log和日志相关的东西,还差一个数据源的缓冲池  alibaba(第一个),别忘了ojdbc6.jar  
  新建一个resource(放入log4j.properties)
  加载所有的jar包  
  相关的准备工作就完成了,这时还要检查一下数据库可不可以用

2.接着进入到配置阶段(spring.config)

  新建DataSourceConfig类     //数据源配置

 1 package spring.config;
 2 
 3 import javax.annotation.Resource;
 5 import org.springframework.context.annotation.Bean;
 6 import org.springframework.context.annotation.ComponentScan;
 7 import org.springframework.context.annotation.Configuration;
 8 import org.springframework.jdbc.core.JdbcTemplate;
 9 import com.alibaba.druid.pool.DruidDataSource;
10 
11 @Configuration
12 @ComponentScan("com.zhaoming")
13 public class DataSourceConfig {
14 
15     @Resource(name="dataSource")
16     private DruidDataSource dataSource;
17     
18     //获取数据源
19     @Bean(name="dataSource")
20     public DruidDataSource getDruidDataSource(){
21         DruidDataSource dds = new DruidDataSource();
22         dds.setUrl("jdbc:oracle:thin:@localhost:1521:orcl");
23         dds.setUsername("zhaoming");
24         dds.setPassword("123");
25         dds.setDriverClassName("oracle.jdbc.driver.OracleDriver");
26         return dds;
27     }
28     
29     @Bean(name="jdbcTemplate")
30     public JdbcTemplate getJdbcTemplate(){
31         JdbcTemplate jdbcTemplate = new JdbcTemplate();
32         jdbcTemplate.setDataSource(dataSource);
33         return jdbcTemplate;
34     } 
35     
36 }

3.测试是否能连接成功

package spring.config;

import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;

public class DataSourceConfigTest {

    @Test
    public void testgetJdbc(){
        AnnotationConfigApplicationContext ac =    new AnnotationConfigApplicationContext(DataSourceConfig.class);
        JdbcTemplate jdbcTemplate = ac.getBean(JdbcTemplate.class);
        String sql = "select * from users";
        jdbcTemplate.queryForList(sql);
    }
    
}

  欧克啦啊啊啊``````可以访问数据了``````

但是有没有发现此时的测试很麻烦,接下里引入Spring的基于JUnit的测试环境,搭建mock环境

package spring.config;

import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)       
@ContextConfiguration(classes = {DataSourceConfig.class})
public class DataSourceConfigTest {

    @Resource(name="jdbcTemplate")
    private JdbcTemplate jdbcTemplate;

    @Test
    public void testgetJdbc1(){
        
        String sql = "select * from users";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        for (Map<String, Object> map : list) {
            System.out.println(map.get("name"));
        } } }
原文地址:https://www.cnblogs.com/zmlion1995/p/5800661.html