第一步訪問數據庫
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"));
} } }