zoukankan      html  css  js  c++  java
  • 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"));
            } } }
  • 相关阅读:
    nodejs发送http请求
    Codeforces Round #655 (Div. 2)
    闇の連鎖 树上LCA + 树上差分
    Tree 换根dp
    「水」悠悠碧波 kmp
    HH的项链
    Educational Codeforces Round 90 (Rated for Div. 2)
    巡逻(论为什么第二次求直径要用dp)
    Codeforces Round #651 (Div. 2)
    Treap板子
  • 原文地址:https://www.cnblogs.com/zmlion1995/p/5800661.html
Copyright © 2011-2022 走看看