`
junge8618
  • 浏览: 120981 次
  • 性别: Icon_minigender_1
  • 来自: 邵阳
社区版块
存档分类
最新评论

Spring中jdbcTemplate使用样例

阅读更多
使用Spring的jdbcTemplate不需要写一下繁琐的try catch语句,同时Connection也由spring来管理,很方便。
一、创建数据库表
create table bookinfo
(
    id varchar(20) primary key,
    name varchar(20),
    author varchar(20)
)

二、创建数据库访问Dao类
package com.junge.spring.dao;

import java.util.List;

import com.junge.spring.bean.Book;

public interface BookDao
{
	List<Book> queryAll();

	List<Book> queryByAuthor(String author);

	void create(Book book);

	void update(Book book);

	void delete(String id);
}

package com.junge.spring.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport;

import com.junge.spring.bean.Book;
import com.junge.spring.dao.BookDao;

public class JdbcTemplateBookDao extends JdbcDaoSupport implements BookDao
{

	class BookRowMapper implements RowMapper<Book>
	{

		@Override
		public Book mapRow(ResultSet rs, int rowNum) throws SQLException
		{
			Book book = new Book();
			book.setId(rs.getString("id"));
			book.setName(rs.getString("name"));
			book.setAuthor("author");
			return book;
		}

	}

	@Override
	public List<Book> queryAll()
	{
		return getJdbcTemplate().query("select * from bookinfo",
				new BookRowMapper());

	}

	@Override
	public List<Book> queryByAuthor(String author)
	{
		return getJdbcTemplate().query("select * from bookinfo where author=?",
				new Object[] { author }, new BookRowMapper());

	}

	@Override
	public void create(Book book)
	{
		this.getJdbcTemplate()
				.update("insert into bookinfo (id,name,author) values(?,?,?)",
						new Object[] { book.getId(), book.getName(),
								book.getAuthor() });

	}

	@Override
	public void update(Book book)
	{
		this.getJdbcTemplate()
				.update("update bookinfo set name=?,author=? where id=?",
						new Object[] { book.getName(), book.getAuthor(),
								book.getId() });

	}

	@Override
	public void delete(String id)
	{
		this.getJdbcTemplate().update("delete from bookinfo where id=?",
				new Object[] { id });

	}

}


三、修改配置文件(jdbc_beans.xml)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">


	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/bookstore" />
		<property name="username" value="root" />
		<property name="password" value="123456" />
	</bean>


	<bean id="jdbcTemplateBookDao" class="com.junge.spring.dao.impl.JdbcTemplateBookDao">
		<property name="dataSource" ref="dataSource" />
	</bean>

</beans>



四、测试(JdbcTemplateTest.java)
package com.junge.spring.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.junge.spring.bean.Book;
import com.junge.spring.dao.BookDao;

public class JdbcTemplateTest
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		ApplicationContext context = new ClassPathXmlApplicationContext(
				"jdbc_beans.xml");

		BookDao bookDao = (BookDao) context.getBean("jdbcTemplateBookDao");

		Book book = new Book();

		book.setName("haoshu");
		book.setAuthor("zhangsan");
		book.setId("6101212");

		bookDao.create(book);
	}

}


分享到:
评论

相关推荐

    spring boot 全面的样例代码

    - chapter9-2-1:[Spring Boot中使用Dubbo进行服务治理] - chapter9-2-2:[Spring Boot与Dubbo中管理服务依赖] ### Spring Cloud构建微服务架构 由于Spring Cloud偏宏观架构,Spring Boot偏微观细节,内容上越来越...

    spring切换数据源样例代码

    在Spring框架中,我们可以通过DataSource接口来配置数据源,通常使用Apache Commons DBCP或HikariCP等连接池实现。每个数据源都可以被定义为一个Bean,并通过@Configuration和@Bean注解进行配置。例如: ```java @...

    一个简单易用可对象操作基于SpringJdbcTemplate的JDBC帮助包

    标题中的“一个简单易用可对象操作基于SpringJdbcTemplate的JDBC帮助包”指的是一个专为简化Java开发中数据库操作而设计的工具包。这个工具包利用了Spring的JdbcTemplate,它是一个轻量级的ORM(对象关系映射)框架...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    SpringAll_wuyouzhuguli.tar.gz

    Spring Boot中使用JdbcTemplate Spring Boot MyBatis配置Druid多数据源 Spring Boot JdbcTemplate配置Druid多数据源 Spring Boot AOP记录用户操作日志 Spring Boot中使用thymeleaf Spring Boot中使用Redis缓存数据 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    spring-boot-samples:Spring Boot 系列样例演示项目代码库

    例如,如果项目中包含 `spring-jdbc.jar`,Spring Boot 将自动配置数据源和 JdbcTemplate。 4. **命令行接口(CLI)**:提供了一个强大的命令行工具,用于快速创建和运行 Spring 应用。 5. **健康检查(Actuator)...

    Spring 2.0 开发参考手册

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    运用spring和CXF开发webservice

    在描述中提到的数据库交互部分,我们可以使用Spring的JdbcTemplate或者JPA(Java Persistence API)来实现。在服务实现中,当一个Web服务方法被调用时,它可以利用这些工具执行SQL语句,向数据库插入数据。Spring的...

    Spring API

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    spring chm文档

    6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...

    SSH框架样例

    4. 整合Spring和Hibernate:通过Spring管理Hibernate的SessionFactory,使用Spring的JdbcTemplate或HibernateTemplate来执行数据库操作。 5. 配置过滤器:在web.xml中配置Struts2和Spring的过滤器,使它们能够正确地...

    extjs动态机构的样例工程

    ExtJS 动态机构样例工程是一个基于Spring和Struts框架的应用示例,它展示了如何在Web应用中构建和管理动态的组织结构树。在这个工程中,ExtJS库被用来创建用户界面,Spring负责后端服务和依赖注入,而Struts则作为...

    spring-boot项目示例学习demo-66套.zip

    actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、...JdbcTemplate(通用JDBC操作数据库)、JPA(强大的ORM框架)、mybatis(强大的ORM框架)...

    spring多数据源.rar

    1. **创建数据源bean**:在Spring中,我们可以使用`DataSource`接口的实现(如Apache Commons DBCP或HikariCP)来创建数据源bean。每个数据源对应一个独立的bean,并通过`@Bean`注解定义。例如,对于MySQL和Oracle,...

    employees-spring-mvc

    使用Spring MVC和JdbcTemplate提供RESTful服务 部署应用程序之前1 配置新遗物 在src / main / resources / newrelic_agent.zip中编辑newrelic.yml 在(license_key :)中输入newrelic密钥 在(app_name :)中输入您...

    springMvc java config

    例如,你可以使用Spring的`MailSender`接口发送邮件,使用`WeChatApi`集成微信服务,通过`JdbcTemplate`或`JPA`进行数据库操作,而AOP则可以用来实现日志记录、事务管理等功能。 在项目中,`bkn.zip`可能是项目的...

    Java进阶SpringBoot基础回顾共18页.pdf

    例如,如果发现`spring-jdbc`在类路径中,它会自动配置JdbcTemplate。 5. **Actuator**:Actuator是Spring Boot用于生产环境的工具,提供健康检查、审计、指标收集等功能,帮助开发者监控和管理应用程序。 6. **...

    Java+MySql图片数据保存与读取的具体实例

    - **Spring框架**:Spring提供了对数据库操作的强大支持,如`JdbcTemplate`和`NamedParameterJdbcTemplate`,可以简化上述步骤。 - **ORM框架**:Hibernate等ORM框架能够将数据库操作对象化,处理Blob数据更加方便...

    SpringBoot-Learning:Spring Boot基础教程,Spring Boot 2.x版本连载中!!!

    本项目内容为的程序样例。 专题目标:打造全网内容最全,比收费教程更好的Spring Boot免费教程! 加入社群: 如何支持: 关注我的公众号”程序猿DD “ 点个Star并Follow我 把该仓库分享给更多的朋友 教程目录 关注...

Global site tag (gtag.js) - Google Analytics