jdbcTemplate整合SpringMVC


jdbcTemplate整合SpringMVC
Java代码 复制代码  收藏代码
  1. package com.org;  
  2.   
  3. import javax.annotation.PostConstruct;  
  4. import javax.annotation.Resource;  
  5.   
  6. import org.springframework.jdbc.core.JdbcTemplate;  
  7. import org.springframework.jdbc.core.support.JdbcDaoSupport;  
  8.   
  9.   
  10. /** 
  11.  * @author liangjilong 
  12.  */  
  13. public class JdbcTempBaseDao extends JdbcDaoSupport{  
  14.   
  15.     /** 
  16.      */  
  17.     @Resource(name = "jdbcTemplate")  
  18.     public JdbcTemplate jdbcTemplate;    
  19.     
  20.     @PostConstruct    
  21.     public void initSqlMapClient() {    
  22.          super.setJdbcTemplate(jdbcTemplate);  
  23.     }   
  24. }  
package com.org;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.support.JdbcDaoSupport;


/**
 * @author liangjilong
 */
public class JdbcTempBaseDao extends JdbcDaoSupport{

	/**
	 */
	@Resource(name = "jdbcTemplate")
	public JdbcTemplate jdbcTemplate;  
  
    @PostConstruct  
    public void initSqlMapClient() {  
         super.setJdbcTemplate(jdbcTemplate);
    } 
}

 

Java代码 复制代码  收藏代码
  1. package com.org.dao.impl;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.PreparedStatement;  
  5. import java.sql.ResultSet;  
  6. import java.sql.SQLException;  
  7. import java.util.ArrayList;  
  8. import java.util.List;  
  9. import java.util.Map;  
  10.   
  11. import org.springframework.jdbc.core.BeanPropertyRowMapper;  
  12. import org.springframework.jdbc.core.PreparedStatementCreator;  
  13. import org.springframework.jdbc.core.RowCallbackHandler;  
  14. import org.springframework.jdbc.support.GeneratedKeyHolder;  
  15. import org.springframework.stereotype.Repository;  
  16.   
  17. import com.org.JdbcTempBaseDao;  
  18. import com.org.dao.IUserDao;  
  19. import com.org.model.User;  
  20.   
  21. @Repository  
  22. @SuppressWarnings("all")  
  23. public class UserDaoImpl extends JdbcTempBaseDao implements IUserDao {  
  24.   
  25.     @Override  
  26.     public List<User> getUserList() {  
  27.         String sql="select * from user ";  
  28.         final List<User>  list= new ArrayList<User>();  
  29.         jdbcTemplate.query(sql, new RowCallbackHandler(){  
  30.             @Override  
  31.             public void processRow(ResultSet rs) throws SQLException {  
  32.                 User u=new User();  
  33.                 u.setId(rs.getInt("id"));  
  34.                 u.setUsername(rs.getString("username"));  
  35.                 u.setPassword(rs.getString("password"));  
  36.                 u.setCreateDate(rs.getString("createDate"));  
  37.                 u.setModifyDate(rs.getString("modifyDate"));  
  38.                 u.setType(rs.getString("type"));  
  39.                 list.add(u);  
  40.             }  
  41.         });  
  42.           
  43.         return list;  
  44.     }  
  45.   
  46.     @Override  
  47.     public List<User> getUserLists(Map<String, Object> map) {  
  48.         return null;  
  49.     }  
  50.   
  51.     @Override  
  52.     public Integer getUserCount(Map<String, Object> map) {  
  53.          String sql = "select count(1) from User where id=? ";  
  54.          return getJdbcTemplate().queryForObject(sql, Integer.class,map);  
  55.     }  
  56.   
  57.     @Override  
  58.     public User getUserById(Integer primaryKeyId) {  
  59.          String sql = "select id,username, password, createDate, modifyDate,type from User where id=?";  
  60.         List<User> userList = getJdbcTemplate().query(sql, new BeanPropertyRowMapper(User.class), primaryKeyId);  
  61.         if(userList.size() == 0) {  
  62.             return null;  
  63.         }  
  64.         return userList.get(0);  
  65.     }  
  66.   
  67.     @Override  
  68.     public void delUserById(Integer primaryKeyId) {  
  69.          String sql = "delete from user where id=?";  
  70.          getJdbcTemplate().update(sql, primaryKeyId);  
  71.     }  
  72.   
  73.     @Override  
  74.     public User addUser(final User entity) {  
  75.         final String sql = "insert into User(username, password, createDate, modifyDate,type) values(?,?,?,?,?)";  
  76.   
  77.         GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();  
  78.         getJdbcTemplate().update(new PreparedStatementCreator() {  
  79.             @Override  
  80.             public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {  
  81.                 PreparedStatement psst = connection.prepareStatement(sql, new String[]{"id"});  
  82.                 psst.setString(1, entity.getUsername());  
  83.                 psst.setString(2, entity.getPassword());  
  84.                 psst.setString(3, entity.getCreateDate());  
  85.                 psst.setString(4, entity.getModifyDate());  
  86.                 psst.setString(5, entity.getType());  
  87.                 return psst;  
  88.             }  
  89.         }, keyHolder);  
  90.   
  91.         entity.setId(keyHolder.getKey().intValue());  
  92.         return entity;  
  93.     }  
  94.   
  95.     @Override  
  96.     public void editUser(User entity) {  
  97.         String sql="update user set username=?,password=?";  
  98.         //jdbcTemplate.update(sql, User.class,entity);  
  99.     }   
  100. }  
package com.org.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.stereotype.Repository;

import com.org.JdbcTempBaseDao;
import com.org.dao.IUserDao;
import com.org.model.User;

@Repository
@SuppressWarnings("all")
public class UserDaoImpl extends JdbcTempBaseDao implements IUserDao {

	@Override
	public List<User> getUserList() {
		String sql="select * from user ";
		final List<User>  list= new ArrayList<User>();
		jdbcTemplate.query(sql, new RowCallbackHandler(){
			@Override
			public void processRow(ResultSet rs) throws SQLException {
				User u=new User();
				u.setId(rs.getInt("id"));
				u.setUsername(rs.getString("username"));
				u.setPassword(rs.getString("password"));
				u.setCreateDate(rs.getString("createDate"));
				u.setModifyDate(rs.getString("modifyDate"));
				u.setType(rs.getString("type"));
				list.add(u);
			}
		});
		
		return list;
	}

	@Override
	public List<User> getUserLists(Map<String, Object> map) {
		return null;
	}

	@Override
	public Integer getUserCount(Map<String, Object> map) {
		 String sql = "select count(1) from User where id=? ";
	     return getJdbcTemplate().queryForObject(sql, Integer.class,map);
	}

	@Override
	public User getUserById(Integer primaryKeyId) {
		 String sql = "select id,username, password, createDate, modifyDate,type from User where id=?";
        List<User> userList = getJdbcTemplate().query(sql, new BeanPropertyRowMapper(User.class), primaryKeyId);
        if(userList.size() == 0) {
            return null;
        }
        return userList.get(0);
	}

	@Override
	public void delUserById(Integer primaryKeyId) {
		 String sql = "delete from user where id=?";
	     getJdbcTemplate().update(sql, primaryKeyId);
	}

	@Override
	public User addUser(final User entity) {
		final String sql = "insert into User(username, password, createDate, modifyDate,type) values(?,?,?,?,?)";

        GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
        getJdbcTemplate().update(new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                PreparedStatement psst = connection.prepareStatement(sql, new String[]{"id"});
                psst.setString(1, entity.getUsername());
                psst.setString(2, entity.getPassword());
                psst.setString(3, entity.getCreateDate());
                psst.setString(4, entity.getModifyDate());
                psst.setString(5, entity.getType());
                return psst;
            }
        }, keyHolder);

        entity.setId(keyHolder.getKey().intValue());
        return entity;
	}

	@Override
	public void editUser(User entity) {
		String sql="update user set username=?,password=?";
		//jdbcTemplate.update(sql, User.class,entity);
	} 
}

 

Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:mvc="http://www.springframework.org/schema/mvc"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xmlns:aop="http://www.springframework.org/schema/aop"   
  7.     xmlns:tx="http://www.springframework.org/schema/tx"  
  8.     xmlns:oscache="http://www.springmodules.org/schema/oscache"  
  9.     xsi:schemaLocation="http://www.springframework.org/schema/beans  
  10.          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd   
  11.          http://www.springframework.org/schema/context  
  12.          http://www.springframework.org/schema/context/spring-context-3.1.xsd   
  13.          http://www.springframework.org/schema/aop   
  14.          http://www.springframework.org/schema/aop/spring-aop-3.1.xsd   
  15.          http://www.springframework.org/schema/tx   
  16.          http://www.springframework.org/schema/tx/spring-tx-3.1.xsd   
  17.          http://www.springmodules.org/schema/oscache   
  18.          http://www.springmodules.org/schema/cache/springmodules-oscache.xsd  
  19.          http://www.springframework.org/schema/mvc  
  20.          http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">  
  21.   
  22.     <!--  
  23.          对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能   
  24.          mvc:annotation-driven  
  25.     -->   
  26.     <mvc:annotation-driven/>  
  27.     <!-- 扫描包 -->  
  28.     <context:annotation-config/>    
  29.     <context:component-scan base-package="com.org.*" />  
  30.       
  31.       
  32.     <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  33.         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />  
  34.         <!-- 匹配jsp文件下面的所有.jsp的页面 -->  
  35.         <property name="prefix" value="/jsp/" />  
  36.         <property name="suffix" value=".jsp" />   
  37.     </bean>  
  38.      <!--   
  39.         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"  
  40.         p:prefix="/" p:suffix=".jsp" />-->  
  41.       
  42.     <!-- 配置jdbc -->  
  43.     <bean class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">  
  44.         <property name="locations">  
  45.             <value>classpath:jdbc.properties</value>  
  46.         </property>  
  47.     </bean>  
  48.     <!-- 配置數據源 -->  
  49.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
  50.         destroy-method="close">  
  51.         <property name="driverClassName" value="${jdbc.driver}" />  
  52.         <property name="url" value="${jdbc.url}" />  
  53.         <property name="username" value="${jdbc.username}" />  
  54.         <property name="password" value="${jdbc.password}" />  
  55.         <!-- 连接池启动时的初始值 -->  
  56.         <property name="initialSize" value="${initialSize}"/>    
  57.         <property name="maxActive" value="${maxActive}"/>      
  58.         <property name="maxIdle" value="${maxIdle}"/>          
  59.         <property name="minIdle" value="${minIdle}"/>   
  60.     </bean>  
  61.           
  62.    <!-- 配置jdbcTemplate模板 -->  
  63.     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
  64.         <property name="dataSource" ref="dataSource" />  
  65.     </bean>  
  66.     <!-- 配置 transactionManager事物管理-->  
  67.     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  68.         <property name="dataSource" ref="dataSource"/>  
  69.     </bean>  
  70.       
  71.       
  72.     <!-- Spring AOP config配置切点 -->    
  73.     <aop:config>  
  74.         <aop:pointcut expression="execution(* com.org.service.*.*(..))" id="bussinessService" />  
  75.         <aop:advisor advice-ref="txAdvice" pointcut-ref="bussinessService"/>  
  76.     </aop:config>  
  77.   
  78.     <!-- 配置那个类那个方法用到事务处理 -->  
  79.     <tx:advice id="txAdvice" transaction-manager="transactionManager">  
  80.         <tx:attributes>  
  81.             <tx:method name="get*" read-only="true"/>  
  82.             <tx:method name="add*" propagation="REQUIRED"/>  
  83.             <tx:method name="update*" propagation="REQUIRED"/>  
  84.             <tx:method name="delete*" propagation="REQUIRED"/>  
  85.             <tx:method name="*" propagation="REQUIRED"/>  
  86.         </tx:attributes>  
  87.     </tx:advice>  
  88.        
  89.        
  90. <!-- 这个映射配置主要是用来进行静态资源的访问 -->  
  91.  <mvc:resources mapping="/js/**" location="/js/" cache-period="31556926"/>   
  92.  <mvc:resources mapping="/resource/**" location="/resource/" />    
  93.  <mvc:resources mapping="/jsp/**" location="/jsp/" />   
  94.    
  95. </beans>  

 

Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  
  3.   <!-- 
  4.         #####################################配置处理乱码##################################### 
  5.     -->  
  6.     <filter>  
  7.         <filter-name>encodingFilter</filter-name>  
  8.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  9.         <init-param>  
  10.             <param-name>encoding</param-name>  
  11.             <param-value>GBK</param-value>  
  12.         </init-param>  
  13.     </filter>  
  14.     <filter-mapping>  
  15.         <filter-name>encodingFilter</filter-name>  
  16.         <url-pattern>/*</url-pattern>  
  17.     </filter-mapping>  
  18.       
  19.     <!-- spring监听器 -->  
  20.     <listener>  
  21.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  22.     </listener>  
  23.     <context-param>  
  24.         <param-name>contextConfigLocation</param-name>  
  25.         <!--  
  26.             默认的配置  
  27.             <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>  
  28.             <param-value>/WEB-INF/application-servlet.xml</param-value>  
  29.         -->  
  30.         <param-value>classpath:application-*.xml</param-value>  
  31.     </context-param>  
  32.   
  33.     <!--  
  34.         #####################################Spring MVC配置#################################  
  35.         application-servlet.xml,规定:xxx-servlet.xml-->  
  36.     <servlet>  
  37.         <servlet-name>application</servlet-name>  
  38.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  39.         <init-param>  
  40.             <param-name>contextConfigLocation</param-name>  
  41.             <param-value>classpath:application-*.xml</param-value>  
  42.         </init-param>  
  43.         <load-on-startup>1</load-on-startup>  
  44.     </servlet>  
  45.     <servlet-mapping>  
  46.         <servlet-name>application</servlet-name>  
  47.         <url-pattern>/</url-pattern>  
  48.     </servlet-mapping>  
  49.       
  50.        
  51.   <welcome-file-list>  
  52.     <welcome-file>userList1.do</welcome-file>  
  53.     <welcome-file>index.htm</welcome-file>  
  54.     <welcome-file>index.jsp</welcome-file>  
  55.     <welcome-file>default.html</welcome-file>  
  56.     <welcome-file>default.htm</welcome-file>  
  57.     <welcome-file>default.jsp</welcome-file>  
  58.   </welcome-file-list>  
  59. </web-app>  

 访问 http://localhost:8080/SpringMVC_jdbcTemplate/userList1.do

 



 

 

源代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值