看了几天的spring资料,查看了很多网上资料(包括了官网的例子),发现很少有关springMVC和jdbcTemplate结合使用的完整而且简单的例子,今天晚上很有空就自己写了简单的例子,自己也是刚刚学springMVC,所以希望能为像我这样的菜鸟能快速入门,希望大家在看完我写的教程的时候,也能留言,说点建议,这是我第一次写例子,希望大家多多支持
开发环境:
Springsource tool suite
Spring 的包
commons-dbcp.jar
commons-logging-1.0.4.jar
commons-pool.jar
mysql-connector-java-3.1.14-bin.jar

step1:建立数据库
如图
step2:使用springsource toolsuite 新建一个mvc工程,我的工程名字为:springMVC_demo
删除原有的homecontroller
step3:新建user实体
package com.xing.ent;
/**
* guangzhoudaxue
* @author xing
*
*/
public class User{
private int id;
private String name;
private String password;
public User(String name, String password) {
super();
this.name = name;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", password=" + password
+ "]";
}
}
Step4:新建UserDao
package com.xing.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.RowMapperResultSetExtractor;
import com.xing.ent.User;
/**
* guangzhoudaxue
* @author xing
*
*/
public class UserDao {
class UserRowMapper implements RowMapper{
public Object mapRow(ResultSet rs,int index) throws SQLException {
User u = new User(rs.getString("name"), rs.getString("password"));
return u;
}
}
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
//注入
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public List findAllUser()
{
List list = null;
try{
String sql ="select * from user";
list = jdbcTemplate.query(sql,new RowMapperResultSetExtractor(new UserRowMapper()));
}catch (Exception e) {
// TODO: handle exception
}
return list;
}
}
Step5新建UserService
package com.xing.service;
import java.util.List;
import com.xing.dao.UserDao;
import com.xing.ent.User;
/**
* guangzhoudaxue
* @author xing
*
*/
public class UserService {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
//注入
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
/**
* 查找所有的用户信息
* @return
*/
public List<User> getUserList(){
return userDao.findAllUser();
}
}
Step6:新建UserController
package com.xing.controller;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.xing.ent.User;
import com.xing.service.UserService;
/**
* guangzhoudaxue
* @author xing
*
*/
@Controller
public class UserController {
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
private UserService userService;
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Model model) {
logger.info("get all user info ---->/n");
List<User> users = userService.getUserList();
logger.info(users.toString());
model.addAttribute("users", users);
return "showUsers";
}
//注入
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
}
Step7:配置文件的配置
root-context.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
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<!-- 标准配置 -->
<value>/WEB-INF/application.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}"></property>
<!-- Connection Pooling Info -->
<property name="maxIdle" value="${dbcp.maxIdle}" />
<property name="maxActive" value="${dbcp.maxActive}" />
<property name="defaultAutoCommit" value="false" />
<property name="timeBetweenEvictionRunsMillis" value="3600000" />
<property name="minEvictableIdleTimeMillis" value="3600000" />
</bean>
<!-- 注入 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<!-- 注入 -->
<bean id="userDao" class="com.xing.dao.UserDao">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate" />
</property>
</bean>
<!-- 注入 -->
<bean id="userService" class="com.xing.service.UserService">
<property name="userDao">
<ref bean="userDao" />
</property>
</bean>
</beans>
新建一个application.properties文件放置WEB-INF目录下(注意:我使用的是mysql,如果使用其他的数据库可能有点不同,网上很容已找到,或者在spring的sample上都有)
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
dbcp.maxIdle=5
dbcp.maxActive=40
servlet-context.xml
这里基本上是没有修改任何东西,添加了一个bean
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<context:component-scan base-package="com.xing.controller" />
<beans:bean id="userController" class="com.xing.controller.UserController">
<beans:property name="userService">
<beans:ref bean="userService" />
</beans:property>
</beans:bean>
</beans:beans>
Step8:这是显示界面
showUsers.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
<title>Home</title>
</head>
<body>
<P> users: ${users}. </P>
</body>
</html>
以上是我个人学习spring的小小总结,如需转载请注明转载地址,^_^,谢谢各位------一个小小菜鸟,同时也希望各位高手指点下
版权声明:本文为baitxttgchx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。