Spring4-JDBC

简介:




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

wKioL1jQ2xjSC2-6AAAVwsKMkyI523.png-wh_50


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

wKiom1jQ23KwyTuqAAApXbULxtU671.png-wh_50


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

wKioL1jQ27ihX-AhAAA1hwZwpjk213.png-wh_50


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

wKioL1jQ3D3Q0XidAACSz3m63PQ874.png-wh_50


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

wKioL1jQ3LeRlckwAABQTsRagfc306.png-wh_50

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),如图所示

wKiom1jQ3TrwcRipAABPJ45lrEM049.png-wh_50


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),如图所示

wKioL1jQ3cexMjUSAABQBaC1z_k385.png-wh_50


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,如图所示

wKioL1jQ3m2B4LEPAABQCyxgytc379.png-wh_50


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,如图所示

wKioL1jQ3x3TKqB0AABPU2miW1g666.png-wh_50


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文件,如图所示

wKioL1jQ333xL8YFAABPcETp9tM652.png-wh_50


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),如图所示

wKiom1jQ4AGCcN-wAAA6MlfhLLo888.png-wh_50


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方法

wKioL1jQ4IiRwI8GAAFLkS0DMeE289.png-wh_50


20.测试testFindByForumId方法

wKioL1jQ4MHR1NxkAAGDJwQ72fw420.png-wh_50

wKioL1jUiYnRAm8RAABwCKMO5XE162.png-wh_50



本文转自 素颜猪 51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1908855

相关文章
|
druid Java 数据库连接
SpringBoot原理分析 | Spring Data整合:JDBC、Druid、Mybatis
SpringBoot原理分析 | Spring Data整合:JDBC、Druid、Mybatis
413 0
|
SQL Java 数据库连接
java原生jdbc到spring的jdbcTemplate
java原生jdbc到spring的jdbcTemplate
|
设计模式 Java 数据库连接
【Spring源码】JDBC数据源访问实现
我们再来看看阅读线索三,这方面我们从设计模式进行入手。阅读线索三:从这个模块可以学到什么我们看下以下代码,PreparedStatement实例的是由PreparedStatementCreator实现的。再来看看PreparedStatementCreator接口,一共有三个子类实现。也就是说PreparedStatement的三种不同实现被封装到三个子类中,而具体需要哪种实现,只需要传入不同。
214 1
【Spring源码】JDBC数据源访问实现
|
SQL Java 数据库连接
Springboot框架整合Spring JDBC操作数据
JDBC是Java数据库连接API,用于执行SQL并访问多种关系数据库。它包括一系列Java类和接口,用于建立数据库连接、创建数据库操作对象、定义SQL语句、执行操作并处理结果集。直接使用JDBC涉及七个步骤,包括加载驱动、建立连接、创建对象、定义SQL、执行操作、处理结果和关闭资源。Spring Boot的`spring-boot-starter-jdbc`简化了这些步骤,提供了一个在Spring生态中更便捷使用JDBC的封装。集成Spring JDBC需要添加相关依赖,配置数据库连接信息,并通过JdbcTemplate进行数据库操作,如插入、更新、删除和查询。
508 0
|
Java 数据库连接 数据库
Spring4.X系列之Spring JDBC
Spring4.X系列之Spring JDBC
152 0
|
前端开发 Java Maven
Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块
Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块
271 0
|
XML Java 数据库连接
【Spring】JDBC、AOP、事务
【Spring】JDBC、AOP、事务
|
XML Java 数据库连接
使用Spring JDBC中的JdbcTemplate对数据进行增删改查操作教程~
使用Spring JDBC中的JdbcTemplate对数据进行增删改查操作教程~
592 0
|
Java 数据库连接 API
Spring中如何操作JDBC
Spring中如何操作JDBC
|
SQL Java 关系型数据库
数据库|Spring整合JDBC
数据库|Spring整合JDBC
272 0

热门文章

最新文章