好久没写jdbc的相关代码了,都忘得差不多了,一直都在用hibernate,这次学习spring,书中有关于jdbc整合的章节,并且讲了很多,于是决定再次写有关jdbc代码。整个写的非常简单,具体如下:
第一步:引入相关的jar包
第二步:在spring中配置好数据源(bean.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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<context:annotation-config/>
<context:component-scan base-package="spring.test"/>
<!-- <aop:aspectj-autoproxy/> -->
<!-- mysql 5.0 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.gjt.mm.mysql.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/link?useUnicode=true&characterEncoding=gbk"/>
<property name="username" value="root"/>
<property name="password" value="hyj_lk"/>
<!-- 连接池启动时的初始值 -->
<property name="initialSize" value="1"/>
<!-- 连接池的最大值 -->
<property name="maxActive" value="500"/>
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle" value="2"/>
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1"/>
</bean>
</beans>
第三步:创建实体bean(说明:这里其实可以不要创建这个bean,为了方便还是创建了这个bean) Sort.java
//*******************************************************************//
//
//** 创建人: Link
//
//** 描 述: sort表实体bean -- 分类(栏目)表
//
//
//*******************************************************************//
package spring.test.bean;
import java.util.Date;
public class Sort {
private int id; //标识(主键)
private int sid; //分类ID(父ID)
private String title; //标题
private String info; //描述
private String url; //url
private String imgurl; //图片路径
private int isindex=0; //是否在首页显示(0否,1是 默认0)
private int ishot=0; //是否为热门(0否,1是 默认0)
private int isnew=0; //是否为新(0否,1是 默认0)
private int sortnum=0; //排序号
private long hits=0; //点击次数
private Date puttime=new Date(); //更新日期
private int property=0; //属性:是否通过(0否,1是 默认0)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getImgurl() {
return imgurl;
}
public void setImgurl(String imgurl) {
this.imgurl = imgurl;
}
public int getIsindex() {
return isindex;
}
public void setIsindex(int isindex) {
this.isindex = isindex;
}
public int getIshot() {
return ishot;
}
public void setIshot(int ishot) {
this.ishot = ishot;
}
public int getIsnew() {
return isnew;
}
public void setIsnew(int isnew) {
this.isnew = isnew;
}
public int getSortnum() {
return sortnum;
}
public void setSortnum(int sortnum) {
this.sortnum = sortnum;
}
public long getHits() {
return hits;
}
public void setHits(long hits) {
this.hits = hits;
}
public Date getPuttime() {
return puttime;
}
public void setPuttime(Date puttime) {
this.puttime = puttime;
}
public int getProperty() {
return property;
}
public void setProperty(int property) {
this.property = property;
}
}
第四步:SortDao接口 SortDao.java
package spring.test.service;
import spring.test.bean.*;
public interface SortDao {
public void insert(Sort sort);
public void update(Sort sort);
public void delete(int id);
public Sort findById(int id);
}
第五步:SortDao接口的实现 SortDaoImp.java
package spring.test.service.impl;
import spring.test.bean.Sort;
import spring.test.service.SortDao;
import java.sql.*;
import javax.annotation.Resource;
import org.apache.commons.dbcp.BasicDataSource;
import org.springframework.stereotype.Service;
@Service
public class SortDaoImpl implements SortDao {
@Resource(name="dataSource") private BasicDataSource dataSource;
public void delete(int id) {
System.out.println("delete OK");
}
public Sort findById(int id) {
return null;
}
public void insert(Sort sort) {
String sql="insert into tb_sort (sid,title,info) values(?,?,?)";
Connection conn=null;
try{
conn=dataSource.getConnection();
PreparedStatement ps=conn.prepareStatement(sql);
ps.setInt(1, sort.getSid());//从1开始,这里不是从0开始,这里要特别注意,我当时不太记得了,调试了很久
ps.setString(2, sort.getTitle());
ps.setString(3, sort.getInfo());
ps.executeUpdate();
ps.close();
}catch(SQLException e){
throw new RuntimeException();
}finally{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
System.out.println("关闭数据库连接失败!");
}
}
}
}
public void update(Sort sort) {
}
}
第六步:单元测试 SortDaoImplTest.java
package spring.test.service.junit;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import spring.test.bean.Sort;
import spring.test.service.SortDao;
public class SortDaoImplTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@Test
public void testDelete() {
}
@Test
public void testFindById() {
}
@Test
public void testInsert() {
ApplicationContext context= new ClassPathXmlApplicationContext("beans2.xml");
SortDao sortDao=(SortDao)context.getBean("sortDaoImpl");
//sortDao.delete(0);
Sort sort=new Sort();
sort.setSid(0);
sort.setTitle("首页");
sort.setInfo("首页,欢迎光临");
sortDao.insert(sort);
System.out.println("the sort save success!");
}
@Test
public void testUpdate() {
}
}
分享到:
相关推荐
这个整合Demo是一个学习和实践Spring MVC、Spring和Spring JDBC整合的绝佳案例,它涵盖了Web应用开发的多个层面,从接收用户请求到数据持久化,再到视图的呈现。通过深入研究这个Demo,开发者可以更好地理解和掌握...
本示例"Spring mvc、Spring、Spring jdbc 整合 demo"着重展示了Spring框架的三大关键模块:Spring MVC(模型-视图-控制器)、Spring Core以及Spring JDBC的集成与应用。 1. **Spring MVC** Spring MVC是Spring框架...
在"Spring mvc + Spring + Spring jdbc 整合 demo"中,我们可以学习到以下关键知识点: 1. **Spring MVC 框架**:它是Spring框架的一个模块,主要处理HTTP请求和响应。在MVC模式中,Model代表业务逻辑,View负责...
这个“spring与JDBC集成Demo”是一个典型的示例,旨在帮助初学者理解和实践 Spring 如何与 JDBC 结合使用。 在 Spring 中,JDBC 集成主要包括以下几个关键知识点: 1. **JdbcTemplate**:这是 Spring 提供的一个...
这个"SpringMVC + Spring + SpringJDBC整合demo"是一个完整的示例项目,旨在帮助开发者理解如何将这三个框架集成到一个应用中。 **SpringMVC**是Spring框架的一部分,专门用于构建Web应用程序。它提供了模型-视图-...
Phoenix Hbase springjdbc整合 demo Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目。 Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入...
在提供的`sharding-jdbc-demo-5.2.0`压缩包中,包含了完整的代码示例、文档和注释,可以帮助你更好地理解和实践Spring Boot与ShardingSphere的整合。通过这个示例,你可以深入了解如何在实际项目中运用...
这个"springmvc spring hibernate整合Demo"旨在帮助初学者理解如何将这三个框架协同工作,实现一个完整的CRUD(创建、读取、更新、删除)应用。 Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序。它...
"demo"项目可能包含了整合Spring 2.5 MVC与iBatis 2的实例代码,包括Spring配置文件、DAO接口、Mapper XML文件、Controller类等,可以作为学习和参考的样例。 总结,Spring 2.5 MVC与iBatis 2的整合应用,既保留了...
将Hibernate与Spring整合可以充分利用两者的优点,提高开发效率并降低复杂性。 一、Hibernate概述 Hibernate是Java世界中领先的ORM框架之一,它允许开发者用Java对象来操作数据库记录,而无需编写SQL语句。通过配置...
标题“spring2.5 Demo”指的是一个基于Spring框架2.5版本的示例项目,它通常用于教学或演示Spring框架的核心特性和用法。Spring是一个广泛使用的Java企业级应用程序开发框架,尤其在处理依赖注入、面向切面编程(AOP...
Struts2.0、Spring2.5和JPA(Java Persistence API)是Java开发中常见的三大框架,它们各自承担着不同的职责,共同构建了一个高效、灵活的企业级应用开发环境。Struts2作为MVC(Model-View-Controller)框架,负责...
【标题】"maven-springMVC-springJDBC-Demo"是一个综合性的项目示例,它演示了如何使用Maven、Spring MVC和Spring JDBC在Java Web开发中构建一个简单的应用。这个Demo旨在帮助开发者理解这三大技术的集成与协同工作...
本教程将详细介绍如何使用Eclipse IDE搭建一个基于Struts2.5、Spring5.0和Hibernate5.2的整合框架,提供一个可运行的Demo实例。这个组合是Java企业级开发中常见的技术栈,它们各自负责不同的职责:Struts2作为前端...
6. **数据访问**:Spring整合了多种数据访问技术,如JDBC、Hibernate、MyBatis等,提供了数据访问的抽象层,简化了数据库操作。 7. **单元测试**:Spring提供了一个测试模块,支持基于注解的测试,如`@Autowired`和...
MyBatis和Spring的整合是Java开发中常见的技术组合,它们各自在数据访问层提供了强大的支持。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及...
以下是对 Spring 框架核心知识点的详细说明: 1. **依赖注入(Dependency Injection, DI)**:Spring 的核心特性之一,通过DI,对象之间的耦合度降低,使得代码更加灵活,易于测试。Spring 提供了构造器注入、设值...
综上所述,"Redis+mysql整合spring的Demo"项目涵盖了数据库集成、缓存策略、事务管理等多个核心知识点,是学习和实践数据存储和高性能应用的好资源。通过对这些内容的理解和实践,开发者可以更好地应对复杂的企业级...