使用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);
}
}
分享到:
相关推荐
- chapter9-2-1:[Spring Boot中使用Dubbo进行服务治理] - chapter9-2-2:[Spring Boot与Dubbo中管理服务依赖] ### Spring Cloud构建微服务架构 由于Spring Cloud偏宏观架构,Spring Boot偏微观细节,内容上越来越...
在Spring框架中,我们可以通过DataSource接口来配置数据源,通常使用Apache Commons DBCP或HikariCP等连接池实现。每个数据源都可以被定义为一个Bean,并通过@Configuration和@Bean注解进行配置。例如: ```java @...
标题中的“一个简单易用可对象操作基于SpringJdbcTemplate的JDBC帮助包”指的是一个专为简化Java开发中数据库操作而设计的工具包。这个工具包利用了Spring的JdbcTemplate,它是一个轻量级的ORM(对象关系映射)框架...
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 Boot中使用JdbcTemplate Spring Boot MyBatis配置Druid多数据源 Spring Boot JdbcTemplate配置Druid多数据源 Spring Boot AOP记录用户操作日志 Spring Boot中使用thymeleaf Spring Boot中使用Redis缓存数据 ...
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-jdbc.jar`,Spring Boot 将自动配置数据源和 JdbcTemplate。 4. **命令行接口(CLI)**:提供了一个强大的命令行工具,用于快速创建和运行 Spring 应用。 5. **健康检查(Actuator)...
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的JdbcTemplate或者JPA(Java Persistence API)来实现。在服务实现中,当一个Web服务方法被调用时,它可以利用这些工具执行SQL语句,向数据库插入数据。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...
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. ...
4. 整合Spring和Hibernate:通过Spring管理Hibernate的SessionFactory,使用Spring的JdbcTemplate或HibernateTemplate来执行数据库操作。 5. 配置过滤器:在web.xml中配置Struts2和Spring的过滤器,使它们能够正确地...
ExtJS 动态机构样例工程是一个基于Spring和Struts框架的应用示例,它展示了如何在Web应用中构建和管理动态的组织结构树。在这个工程中,ExtJS库被用来创建用户界面,Spring负责后端服务和依赖注入,而Struts则作为...
actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、...JdbcTemplate(通用JDBC操作数据库)、JPA(强大的ORM框架)、mybatis(强大的ORM框架)...
1. **创建数据源bean**:在Spring中,我们可以使用`DataSource`接口的实现(如Apache Commons DBCP或HikariCP)来创建数据源bean。每个数据源对应一个独立的bean,并通过`@Bean`注解定义。例如,对于MySQL和Oracle,...
使用Spring MVC和JdbcTemplate提供RESTful服务 部署应用程序之前1 配置新遗物 在src / main / resources / newrelic_agent.zip中编辑newrelic.yml 在(license_key :)中输入newrelic密钥 在(app_name :)中输入您...
例如,你可以使用Spring的`MailSender`接口发送邮件,使用`WeChatApi`集成微信服务,通过`JdbcTemplate`或`JPA`进行数据库操作,而AOP则可以用来实现日志记录、事务管理等功能。 在项目中,`bkn.zip`可能是项目的...
例如,如果发现`spring-jdbc`在类路径中,它会自动配置JdbcTemplate。 5. **Actuator**:Actuator是Spring Boot用于生产环境的工具,提供健康检查、审计、指标收集等功能,帮助开发者监控和管理应用程序。 6. **...
- **Spring框架**:Spring提供了对数据库操作的强大支持,如`JdbcTemplate`和`NamedParameterJdbcTemplate`,可以简化上述步骤。 - **ORM框架**:Hibernate等ORM框架能够将数据库操作对象化,处理Blob数据更加方便...
本项目内容为的程序样例。 专题目标:打造全网内容最全,比收费教程更好的Spring Boot免费教程! 加入社群: 如何支持: 关注我的公众号”程序猿DD “ 点个Star并Follow我 把该仓库分享给更多的朋友 教程目录 关注...