當前位置:首頁 > 芯聞號 > 充電吧
[導讀]文章地址: http://blog.csdn.net/5iasp/article/details/12206793 作者: javaboy2012 Email:yanek@163.com qq:??

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

作者: javaboy2012
Email:yanek@163.com
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?。骸」ぞ哳?/p>

?

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環(huán)境下調用:


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


 %>




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

?

?

?

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉