Spring使用JDBCTemplate简介
2018-06-18 02:48:39来源:未知 阅读 ()
Spring提供了一个强有力的模板类---jdbcTemplate来简化JDBC操作,并且数据源DataSource对象与模板jdbcTemplate对象均可通过Bean的形式定义在配置文件中,充分发挥了依赖注入的威力。
案例:使用jdbcTemplate查询所有图书
1.引入jar包
<!-- MySQLjar --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!--spring jdbc--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.2.0.RELEASE</version> </dependency>
2.创建类
3.配置xml文件
3.1配置数据源
第一种配法
<!--数据源--> <!-- 1.spring默认配置 2.dbcp注册数据源 3.c3p0注册数据源 4.druid注册数据源 --> <!--spring自带数据源--> <bean id="dataSources" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean>
第二种配法
<!--dbcp注册数据源--> <bean id="dataSources" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean>
第三种配法
<!--c3p0配置数据源--> <bean id="dataSources" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean>
第四种配法
<!--druid配置数据源--> <bean id="dataSources" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean>
注:除了第一种配法外,其他几种都需要引入依赖
<!--dbcp--> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!--c3p0--> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <!--druid阿里,目前比较流行的--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.29</version> </dependency>
3.2识别jdbc.properties文件
<!--识别jdbc.properties文件--> <!--方式一--> <context:property-placeholder location="classpath:jdbc.properties"/> <!--方式二--> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:jdbc.properties"></property> </bean>
3.3绑定数据源
<!--绑定数据源--> <bean id="jdbcTemplates" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSources"/> </bean>
3.4绑定DAO层实现类
<!--DAO--> <bean id="BookDao" class="cn.happy.JDBCTemplate.dao.BookDaoImpl"> <property name="jdbcTemplate" ref="jdbcTemplates"/> </bean>
3.5绑定Service层实现类
<!--service--> <bean id="BookService" class="cn.happy.JDBCTemplate.service.BookServiceImpl">
<!--在serviceImpl中创建对象并封装get set方法-->
<property name="dao" ref="BookDao"/>
</bean>
4.书写方法
import cn.happy.JDBCTemplate.entity.Book; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.support.JdbcDaoSupport; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; /** * Created by Administrator on 2018/3/13. */
//继承JdbcDaoSupport类 public class BookDaoImpl extends JdbcDaoSupport implements IBookDao { public List<Book> getAll() {
//书写SQL String sql="select * from book";
//调用JdbcDaoSupport类的JdbcTemplate属性的get方法 List<Book> query = this.getJdbcTemplate().query(sql, new RowMapper<Book>() { public Book mapRow(ResultSet rs, int i) throws SQLException { /* rs 读取器 i 索引 */
//创建对象 Book book = new Book();
//渲染数据 book.setBookId(rs.getInt("bookId")); book.setBookName(rs.getString("bookName")); book.setBookPrice(rs.getInt("bookPrice")); return book; } }); return query; } }
5.测试类
//JDBCTemplate @Test public void Spring(){ ApplicationContext ctx=new ClassPathXmlApplicationContext("JDBCTemplate.xml"); BookService service=(BookService)ctx.getBean("BookService"); List<Book> all = service.getAll(); for (Book item:all) { System.out.println(item.getBookName()); } }
结果:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:JavaIO拷贝文件示例
- Spring系列.ApplicationContext接口 2020-06-11
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- 给你一份超详细 Spring Boot 知识清单 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- 掌握SpringBoot-2.3的容器探针:实战篇 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash