當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]文章地址: 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簡(jiǎn)化jdbc數(shù)據(jù)庫(kù)操作實(shí)例代碼

?

包括如下幾個(gè)類:

?

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接口實(shí)現(xiàn)類 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 接口實(shí)現(xiàn)類

?

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類:實(shí)體類

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. 測(cè)試類: 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)境下調(diào)用:


web.xml配置:

?



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


測(cè)試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

?

?

?

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉