歡迎查看Java開發之上帝之眼系列教程,若是您正在爲Java後端龐大的體系所困擾,若是您正在爲各類繁出不窮的技術和各類框架所迷茫,那麼本系列文章將帶您窺探Java龐大的體系。本系列教程但願您能站在上帝的角度去觀察(瞭解)Java體系。使Java的各類後端技術在你心中模塊化;讓你在工做中能將Java各個技術瞭然於心;可以即插即用。本章咱們來一塊兒瞭解Spring對JDBC的支持和基本使用。html
Spring對JDBC的SQLException進行封裝,你不須要作什麼;只須要將SpringJDBC的Jar包導入便可,這樣你就能夠在Spring所支持的數據訪問模板中享受到這些異常^~~^java
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.1.RELEASE</version> </dependency>
針對不一樣的持久化平臺,Spring提供了多個可選則使用的模板,經常使用的模板類以下git
模板類 | 用途 |
---|---|
jdbc.core.JdbcTemplate | JDBC的連接 |
orm.jdo.JdoTemplate | Java數據對象實現 |
orm.jpa.JpaTemplate | Java持久化API的實體管理器 |
orm.ibatis.SqlMapClientTemplate | IBATIS SqlMap客戶端 |
orm.hibernate3.HibernateTemplate | Hibernate3.x以上的Session |
不管你使用哪種模板類,你都須要配置一個數據源的引用,Spring提供了在Spring上下文中配置數據源Bean的多種方式github
具體詳細的數據源裝配,我會另開一篇進行解析介紹,在本篇案例中使用的是阿里巴巴的druid鏈接池,使用過程以下
加載依賴spring
<!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.12</version> </dependency>
配置數據源後端
@Bean public DruidDataSource dataSource() { DruidDataSource ds = new DruidDataSource(); ds.setDriverClassName(environment.getProperty("jdbc.driver")); ds.setUrl(environment.getProperty("jdbc.url")); ds.setUsername(environment.getProperty("jdbc.username")); ds.setPassword(environment.getProperty("jdbc.password")); ds.setInitialSize(5); return ds; }
配置JDBC模板類app
@Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) { return new JdbcTemplate(dataSource); }
Dao層相關代碼框架
@Autowired private JdbcOperations jdbcOperations; @Override public User getUser(String username) { List<User> query = jdbcOperations.query(SELECT_USER_BY_ID, new UserRowMapper(), username); return query.get(0); }
本章完整代碼地址:完整項目下載地址點擊此處ide