使用spring jdbc template简化jdbc数据库操作实例代码

文章地址: http://blog.csdn.net/5iasp/article/details/12206793

作者: javaboy2012
Email:[email protected]
qq:    1046011462

 

使用spring jdbc template简化jdbc数据库操作实例代码

 

包括如下几个类:

 

1. DAO接口

 

package com.test;

import java.util.List;

import org.springframework.jdbc.core.JdbcTemplate;

public interface DAO {
	
	public int getCount(String sql);
	
	public String getResultValue(String sql, String column);

	public List getResult(String sql);

	public void update(String sql);
	public void update(String sql,Object[] params);

	public void delete(String sql);
	
	public JdbcTemplate getJt();

}


2. DAO接口实现类 DAOImpl

package com.test;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.support.rowset.SqlRowSet;

public class DAOImpl implements  DAO{


	protected final Log log = LogFactory.getLog(this.getClass());
	
	private JdbcTemplate jt;


	public int getCount(String sql) {
		int count = 0;
		try {
			count = jt.queryForInt(sql);
		} catch (DataAccessException e) {
			log.info("!!!!!!!!!!!!!!!!!!!Exception:" + e);
		}
		return count;
	}
	
	public String getResultValue(String sql, String column) {
		String value = "";
		try {
			SqlRowSet s = jt.queryForRowSet(sql);
			while (s.next()){
				value = s.getString(column);
			}
		} catch (DataAccessException e) {
			log.info("!!!!!!!!!!!!!!!!!!!Exception:" + e);
		}
		return value;
	}

	public List getResult(String sql) {
		List list = null;
		try {
			list = jt.queryForList(sql);
		} catch (DataAccessException e) {
			log.info("!!!!!!!!!!!!!!!!!!!Exception:" + e);
		}
		return list;
	}

	public void update(String sql) {

		try {
			jt.update(sql);
		} catch (DataAccessException e) {
			log.info("!!!!!!!!!!!!!!!!!!!Exception:" + e);
		}
	}

	public void delete(String sql) {
		try {
			jt.execute(sql);
		} catch (DataAccessException e) {
			log.info("!!!!!!!!!!!!!!!!!!!Exception:" + e);
		}
	}



	@Override
	public void update(String sql, Object[] params) {
		// TODO Auto-generated method stub
		try {
			jt.update(sql,params);
		} catch (DataAccessException e) {
			log.info("!!!!!!!!!!!!!!!!!!!Exception:" + e);
		}
	}

	public void setJt(JdbcTemplate jt) {
		this.jt = jt;
	}
	
	public JdbcTemplate getJt() {
		return jt;
	}

}


3. UserManager 接口

package com.test;

import java.util.List;
import java.util.Map;



public interface UserManager {
	
	
	
	
	public void addUser(String name);
	
	public void updateUser(String name,int id);
	
	public void deleteUser(int id);
	
	public String getUser(int id);
	
	public User getUserByID(int id);

	
	public List getUsers();
	
	public List getUserList();

	
	public void init();
	

}


4. UserManagerImpl:UserManager 接口实现类

 

package com.test;

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.RowMapper;



public class UserManagerImpl implements UserManager {
	
	
	private DAO dao;

	/**
	 * @param args
	 */
	public static void main(String[] args) {


	}
	
	public void addUser(String name)
	{
		/*
		String sql="insert into t_test(name) values('"+name+"')";
		dao.update(sql);
		*/
		String sql="insert into t_test(name) values(?)";
		Object[] params = new Object[] {name};
		dao.update(sql, params);
		
	}
	
	public List getUsers()
	{
		String sql = "select * FROM t_test";
		List lists = dao.getResult(sql);
		return lists;
	}
	

	public DAO getDao() {
		return dao;
	}

	public void setDao(DAO dao) {
		this.dao = dao;
	}

	@Override
	public void init() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void updateUser(String name, int id) {
		/*
		String sql="update t_test set name='"+name+"' where id="+id;
		dao.update(sql);
		*/
		/*
		String sql="update t_test set name=? where id="+id;
		Object[] params = new Object[] {name};
		*/
		String sql="update t_test set name=? where id=?";
		Object[] params = new Object[] {name,new Integer(id)};
		dao.update(sql, params);
		
		
	}

	@Override
	public void deleteUser(int id) {
		String sql="delete from t_test where id="+id;
		dao.delete(sql);
		
	}

	@Override
	public String getUser(int id) {
		// TODO Auto-generated method stub
		String sql="select name from t_test where id="+id;
		String name=dao.getResultValue(sql, "name");
		return name;
	}
	
	@Override
	public User getUserByID(int id) {

		User user=null;
		String sql="select id,name from t_test where id="+id;
		
		List lists = dao.getResult(sql);
		if (lists.size()>0)
		{
			user=new User();
			Map map=lists.get(0);
			user.setId((Integer)map.get("id"));
			user.setName((String)map.get("name"));
		}
		return user;
	}

	@Override
	public List getUserList() {
		String sql = "select * FROM t_test";
		List lists = dao.getResult(sql);
		List users=new ArrayList();
		if (lists.size()>0)
		{
			for(int i=0;i


5. User类:实体类

package com.test;

public class User {
	
	private String name;
	private int id;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	
	
	
	

}


6. SpringUtil : 工具类

 

package com.test;

import java.util.List;
import java.util.Map;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * spring工具类
 * @author 
 *
 */
public class SpringUtil {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		UserManager um=	(UserManager)SpringUtil.getBean("userManager");
		List users=um.getUsers();
		for(int i=0;i


7. 测试类: Test

 

package com.test;

import java.util.List;
import java.util.Map;

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

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		/*
		ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
		UserManager um=(UserManager)ctx.getBean("userManager");
		*/
		
		UserManager um=	(UserManager)SpringUtil.getBean("userManager");
		
		//新增
		/*
		String name="test";
		um.addUser(name);
		*/
		
		//列表
		List users=um.getUsers();
		for(int i=0;i users2=um.getUserList();
		for(int i=0;i


8.  Spring 配置文件:applicationContext.xml

 





	
	
		
			com.mysql.jdbc.Driver
		
		
			jdbc:mysql://127.0.0.1/myweb?useUnicode=true&characterEncoding=gbk
		
		
			root
		
		
			root
		
	
	
	
	
        
            
        
    

    

	
		
			
		
	
	
	 
         
            
                com.test.DAO
            
        
         
             
         
         
             
         
         
             
                PROPAGATION_REQUIRED
                PROPAGATION_REQUIRED
                PROPAGATION_REQUIRED 
             
                
     

	
		
          
       
	
	
    
            
                    
            
    
        


 

9. web环境下调用:


web.xml配置:

 



	
	
		org.springframework.web.context.ContextLoaderListener
	
	
	
		contextConfigLocation
		/WEB-INF/classes/applicationContext.xml
	
	
	
	
	
  
    index.jsp
  


测试jsp文件:

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="org.springframework.web.context.WebApplicationContext"%>
<%@ page import="com.test.*"%>
<%@ page import="org.springframework.web.context.support.WebApplicationContextUtils"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



<%

WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
UserManager um = (UserManager) ctx.getBean("userManager");


 %>



  
    
    
    spring jdbc test
	
	
	    
	
	
	
  
  
  

<% List users2=um.getUserList(); for(int i=0;i <%=t_id2 %>-<%=t_name2 %>
<% System.out.println(t_id2+"-"+t_name2); } %>


 

 
资源下载地址(不需要下载积分):http://download.csdn.net/detail/5iasp/6344527

 

 

 

你可能感兴趣的:(SSH整合,Java技术,JDBC技术)