Spring4-JDBC

1.创建项目,项目名称(springdemo3),如图所示

2.在项目中创建相应的目录存储文件(src->源码目录,test->测试目录,lib->jar包目录),如图所示

3.在lib目录中创建子目录,用于存储相应的jar包,如图所示

4.在lib目录的子目录添加相应的jar包,如图所示

5.在src中创建Forum Bean,包名(com.mycompany.shequ.bean),如图所示

6.Forum Bean中的内容如下

package com.mycompany.shequ.bean;

public class Forum {
	private int fid;
	private String name;
	private int displayorder;
	private int postcount;
	private int isshow;

	public Forum() {
		super();
	}
	public Forum(int fid, String name, int displayorder, int postcount, int isshow) {
		this.fid = fid;
		this.name= name;
		this.displayorder = displayorder;
		this.postcount = postcount;
		this.isshow = isshow;
	}
	public int getFid() {
		return fid;
	}
	public void setFid(int fid) {
		this.fid = fid;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getDisplayorder() {
		return displayorder;
	}
	public void setDisplayorder(int displayorder) {
		this.displayorder = displayorder;
	}
	public int getPostcount() {
		return postcount;
	}
	public void setPostcount(int postcount) {
		this.postcount = postcount;
	}
	public int getIsshow() {
		return isshow;
	}
	public void setIsshow(int isshow) {
		this.isshow = isshow;
	}
}

7.在src下创建dao 接口ForumDAO,包名(com.mycompany.shequ.dao),如图所示

8.接口ForumDAO的内容如下

package com.mycompany.shequ.dao;

import com.mycompany.shequ.bean.Forum;

public interface ForumDAO {
	public void insert(Forum forum);
	public Forum findByForumId(int fid);
}

9.在src中创建ForumDAO的实现类JdbcForumDAO,包名(com.mycompany.shequ.dao.impl),如图所示

10.JdbcForumDAO类中的内容如下

package com.mycompany.shequ.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.dao.ForumDAO;

public class JdbcForumDAO implements ForumDAO {

	private DataSource dataSource;

	public void setDataSource(DataSource dataSource) {
		this.dataSource = dataSource;
	}

	@Override
	public void insert(Forum forum) {
		String sql = "INSERT INTO hnsq_forum (name,displayorder,postcount,isshow) 
		values(?,?,?,?)";

		Connection conn = null;

		try {
			conn = dataSource.getConnection();
			PreparedStatement ps = conn.prepareStatement(sql);
			ps.setString(1, forum.getName());
			ps.setInt(2, forum.getDisplayorder());
			ps.setInt(3,forum.getPostcount());
			ps.setInt(4, forum.getIsshow());
			ps.executeUpdate();
			ps.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}finally{
			if(conn != null){
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}

	@Override
	public Forum findByForumId(int fid) {
		String sql = "select * from hnsq_forum where fid = ?";
		Connection conn = null;
		try {
			conn = dataSource.getConnection();
			PreparedStatement ps = conn.prepareStatement(sql);
			ps.setInt(1, fid);
			Forum forum = null;
			ResultSet rs = ps.executeQuery();
			if(rs.next()){
				forum = new Forum(rs.getInt("fid"),rs.getString("name"),
				rs.getInt("displayorder"),rs.getInt("postcount"),
				rs.getInt("isshow"));
			}
			rs.close();
			ps.close();
			return forum;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

}

11.在src下创建数据源配置文件Spring-Datasource.xml,如图所示

12.数据源配置文件Spring-Datasource.xml的内容如下

<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-2.5.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/b_demo_two" />
		<property name="username" value="root" />
		<property name="password" value="" />
	</bean>

</beans>

13.在src中创建Bean配置文件Spring-Forum.xml,如图所示

14.Bean配置文件Spring-Forum.xml的内容如下

<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-2.5.xsd">

	<bean id="forumDao" class="com.mycompany.shequ.dao.impl.JdbcForumDAO">
		<property name="dataSource" ref="dataSource" />
	</bean>

</beans>

15.在src中创建核心配置文件applicationContext.xml文件,如图所示

16.核心配置文件applicationContext.xml文件的内容如下

<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">

	<import resource="Spring-Datasource.xml" />
	<import resource="Spring-Forum.xml" />

</beans>

17.在test目录中创建测试类JdbcForumDAOTest,包名(com.mycompany.shequ.dao.impl),如图所示

18.测试类JdbcForumDAOTest的内容如下

package com.mycompany.shequ.dao.impl;

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

import com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.dao.ForumDAO;

public class JdbcForumDAOTest {

	@Test
	public void testInsert(){
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

		ForumDAO forumDao = (ForumDAO) context.getBean("forumDao");

		Forum forum = new Forum();
		forum.setName("demo");
		forum.setDisplayorder(0);
		forum.setIsshow(0);
		forum.setPostcount(0);

		forumDao.insert(forum);
	}

	@Test
	public void testFindByForumId(){
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

		ForumDAO forumDao = (ForumDAO) context.getBean("forumDao");

		Forum forum = forumDao.findByForumId(34);
		System.out.println(forum.getName());
	}
}

19.测试testInsert方法

20.测试testFindByForumId方法

时间: 2024-10-29 19:10:08

Spring4-JDBC的相关文章

Spring4.1使用c3p0加载配置文件连接数据库,Access denied for user &#39;root&#39;@&#39;localhost&#39; 错误!

db.properties jdbc.user=root jdbc.password=admin jdbc.driverClass=com.mysql.jdbc.Driver jdbc.jdbcUrl=jdbc\:mysql\:///spring4 jdbc.initialPoolSize=5 jdbc.maxPoolSize=10 Spring.xml中 <context:property-placeholder location="classpath:db.properties&quo

文章目录一览表

推荐文章一览表 Spring Boot 单点登录系统实现基于SpringBoot 消息中间件企业级应用 Shiro 核心功能案例讲解 基于SpringBoot SpringData 基于SpringBoot快速入门 双刃剑MongoDB的学习和避坑   数据库 Mysql 索引优化分析 MySQL 行锁 表锁机制 Redis 快速入门 Redis 持久化之RDB和AOF Redis 主从复制 Redis 高可用集群 双刃剑MongoDB的学习和避坑   Spring全家桶 Java编程配置思路详

SSM随笔

1.SSM框架的简单配置 1.1 引入jar c3p0-0.9.1.2.jar #连接池 com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar commons-logging-1.1.3.jar jackson-annotations-2.9.8.jar #json支持 jackson-core-2.9.8.jar #json支持 jackson-datab

Spring4.3.1 JDBC笔记

个人总结,转载请注明出处:http://www.cnblogs.com/lidabnu/p/5679354.html 基于Spring4.3.1官方文档总结,官方文档链接http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#jdbc Spring JDBC能干什么,如下图所示,可见,其目的还是“简化开发”,把通用的业务无关的操作都在框架中做了. 先思考一下使用JDBC操作数据库需要解决哪些

Spring4:JDBC

http://www.cnblogs.com/xrq730/p/4922136.html 数据库连接池 对一个简单的数据库应用,由于对数据库的访问不是很频繁,这时可以简单地在需要访 问数据库时,就新创建一个连接,就完后就关闭它,这样做也不会带来什么性能上的开销.但是对于一个复杂的数据库应用,情况就完全不同而,频繁的建立.关闭 连接,会极大地减低系统的性能,因为对于连接的使用成了系统性能的瓶颈. 通过建立一个数据库连接池以及一套连接使用管理策略,可以达到连接复用的效果,使得一个数据库连接可以得到安

Spring4学习笔记-JDBC

引入的jar包与基于注解的方式引入的jar包相同 实体类 Employee.java   对应数据库中的employee表 public class Employee { private Integer id; private String last_name; private String email; private Department department; //...省略get.set方法 } Department.java   对应数据库中的department表 public cl

Mybatis3+Spring4+SpringMVC4 整合【转】

首先在整合这个框架的时候,想想其一般的步骤是怎样的,先有个步骤之后,不至于在后面的搞混了,这样在整合的时候也比较清晰些. 然后我们就细细的一步一步来整合. 1  创建一个Web项目. 2  导入Mybatis3.Spring4.SpringMVC4.连接数据库(我使用的数据库是mysql)的jar包. 我所用的包:  spring-websocket-4.2.0.RELEASE.jar 3  创建Mybatis3.Spring4.SpringMVC4.连接数据库的配置文件. 4  配置web.x

[JAVA教程] 2016年最新spring4框架搭建视频教程 【尚学堂】

Spring4框架 主讲:邹波 类型:SSH 适合对象:学习完javase.数据库技术.jdbc者 Spring4.0作为一个广泛使用的开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的. Spring4.0致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案.可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层.业务层及持久层. 本课程为尚学堂课堂实录,讲解了spring4.0中的基本技术,IOC控制反转.AOP面向切面编程.spring无

spring4+hibernate3

环境说明:spring4.0+hibernate3 数据库:oracle 连接池:c3p0 项目结构: lib中的jar: 一.配置spring.xml 说明:这里采用的配置模式将hibernateTemplate注入至类NewsDaoImpl中.在本文的“附”中介绍的是在类NewsDaoImpl中自动装载hibernateTemplate. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&

关于spring4和hibernate4整合,配置事务报“Cannot unwrap to requested type [javax.sql.DataSource]”错误的解决方法及心得

Cannot unwrap to requested type [javax.sql.DataSource] 配置hibernate4和spring4时,出现错误,解决方法: 1.我去了spring4中的事务配置,数据库可以正常执行并访问.如下: <!-- 配置Hibernate  数据事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.Hibernat