`
hyj0903
  • 浏览: 151349 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Spring基础知识1:spring2.5与jdbc整合demo

阅读更多

好久没写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&amp;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() {
	}

}

 

 

 

分享到:
评论

相关推荐

    Spring mvc + Spring + Spring jdbc 整合 demo

    这个整合Demo是一个学习和实践Spring MVC、Spring和Spring JDBC整合的绝佳案例,它涵盖了Web应用开发的多个层面,从接收用户请求到数据持久化,再到视图的呈现。通过深入研究这个Demo,开发者可以更好地理解和掌握...

    Spring mvc、 Spring、 Spring jdbc 整合 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.rar

    在"Spring mvc + Spring + Spring jdbc 整合 demo"中,我们可以学习到以下关键知识点: 1. **Spring MVC 框架**:它是Spring框架的一个模块,主要处理HTTP请求和响应。在MVC模式中,Model代表业务逻辑,View负责...

    spring与JDBC集成Demo

    这个“spring与JDBC集成Demo”是一个典型的示例,旨在帮助初学者理解和实践 Spring 如何与 JDBC 结合使用。 在 Spring 中,JDBC 集成主要包括以下几个关键知识点: 1. **JdbcTemplate**:这是 Spring 提供的一个...

    SpringMVC + Spring + SpringJDBC整合demo

    这个"SpringMVC + Spring + SpringJDBC整合demo"是一个完整的示例项目,旨在帮助开发者理解如何将这三个框架集成到一个应用中。 **SpringMVC**是Spring框架的一部分,专门用于构建Web应用程序。它提供了模型-视图-...

    Phoenix Hbase springjdbc整合 demo

    Phoenix Hbase springjdbc整合 demo Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目。 Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入...

    spring boot整合sharding jdbc5.2.0分库分表demo

    在提供的`sharding-jdbc-demo-5.2.0`压缩包中,包含了完整的代码示例、文档和注释,可以帮助你更好地理解和实践Spring Boot与ShardingSphere的整合。通过这个示例,你可以深入了解如何在实际项目中运用...

    springmvc spring hibernate整合Demo

    这个"springmvc spring hibernate整合Demo"旨在帮助初学者理解如何将这三个框架协同工作,实现一个完整的CRUD(创建、读取、更新、删除)应用。 Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序。它...

    spring2.5 mvc_ibatis2

    "demo"项目可能包含了整合Spring 2.5 MVC与iBatis 2的实例代码,包括Spring配置文件、DAO接口、Mapper XML文件、Controller类等,可以作为学习和参考的样例。 总结,Spring 2.5 MVC与iBatis 2的整合应用,既保留了...

    hibernate与spring整合demo

    将Hibernate与Spring整合可以充分利用两者的优点,提高开发效率并降低复杂性。 一、Hibernate概述 Hibernate是Java世界中领先的ORM框架之一,它允许开发者用Java对象来操作数据库记录,而无需编写SQL语句。通过配置...

    spring2.5 Demo

    标题“spring2.5 Demo”指的是一个基于Spring框架2.5版本的示例项目,它通常用于教学或演示Spring框架的核心特性和用法。Spring是一个广泛使用的Java企业级应用程序开发框架,尤其在处理依赖注入、面向切面编程(AOP...

    struts2.0+spring2.5+JPA整合框架

    Struts2.0、Spring2.5和JPA(Java Persistence API)是Java开发中常见的三大框架,它们各自承担着不同的职责,共同构建了一个高效、灵活的企业级应用开发环境。Struts2作为MVC(Model-View-Controller)框架,负责...

    maven-springMVC-springJDBC-Demo

    【标题】"maven-springMVC-springJDBC-Demo"是一个综合性的项目示例,它演示了如何使用Maven、Spring MVC和Spring JDBC在Java Web开发中构建一个简单的应用。这个Demo旨在帮助开发者理解这三大技术的集成与协同工作...

    eclipse搭建(Struts2.5+Spring5.0+hibernate5.2)整合框架Demo实例

    本教程将详细介绍如何使用Eclipse IDE搭建一个基于Struts2.5、Spring5.0和Hibernate5.2的整合框架,提供一个可运行的Demo实例。这个组合是Java企业级开发中常见的技术栈,它们各自负责不同的职责:Struts2作为前端...

    SpringDemo

    6. **数据访问**:Spring整合了多种数据访问技术,如JDBC、Hibernate、MyBatis等,提供了数据访问的抽象层,简化了数据库操作。 7. **单元测试**:Spring提供了一个测试模块,支持基于注解的测试,如`@Autowired`和...

    mybatis和spring 整合的Demo

    MyBatis和Spring的整合是Java开发中常见的技术组合,它们各自在数据访问层提供了强大的支持。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及...

    spring demo

    以下是对 Spring 框架核心知识点的详细说明: 1. **依赖注入(Dependency Injection, DI)**:Spring 的核心特性之一,通过DI,对象之间的耦合度降低,使得代码更加灵活,易于测试。Spring 提供了构造器注入、设值...

    Redis+mysql整合spring的Demo

    综上所述,"Redis+mysql整合spring的Demo"项目涵盖了数据库集成、缓存策略、事务管理等多个核心知识点,是学习和实践数据存储和高性能应用的好资源。通过对这些内容的理解和实践,开发者可以更好地应对复杂的企业级...

Global site tag (gtag.js) - Google Analytics