码迷,mamicode.com
首页 > 数据库 > 详细

spring Jdbc自动获取主键。

时间:2014-11-20 10:23:53      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:java   srping   jdbc   

学习了下springjdbc,感觉挺实用的,相对来说springjdbc 扩展性相当好了

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;

import com.power.sql.UpdateSql;
import com.power.sql.UpdateSql.SqlType;
import com.power.utils.ArrayAssistant;
import com.power.utils.FieldAssistant;
import com.power.utils.TransformUtils;
/**
 * @author Gary Huang
 * 博客地址 ttp://blog.csdn.net/hfmbook/ 
 * 
 * */
public class BaseDao<T >{
	
	@Autowired
	private JdbcTemplate jdbcTemplate ;  
	
	private UpdateSql updateSql ; 
	
	public Integer insert(T t){
		updateSql = new UpdateSql(SqlType.INSERT , t) ;  
		KeyHolder holder = new GeneratedKeyHolder() ;
		jdbcTemplate.update(new PreparedStatementCreator() {
			public PreparedStatement createPreparedStatement(Connection conn)
					throws SQLException {
				PreparedStatement ps = conn.prepareStatement( updateSql.getSqlBuffer() , 
						new String[] { updateSql.getIdName() } ) ; 
				List<Object> param = updateSql.getParam() ;
				int size = param.size() ;
				for(int x=1;x<=size;x++){
					ps.setObject(x, param.get(x-1)); 
				}
				return ps ;
			}
		} , holder ) ; 
		
		int id = TransformUtils.toInt(holder.getKey()) ;
		FieldAssistant.writeField(updateSql.getIdName(),  t , id, true); 
		
		return TransformUtils.toInt(holder.getKey()) ;  
	}
	
	public int update(T t){
		updateSql = new UpdateSql(SqlType.UPDATE , t) ;  
		
		int result = jdbcTemplate.update(updateSql.getSqlBuffer()
				, ArrayAssistant.asArray(updateSql.getParam())) ;
		
		return result ;  
	}
}
UpdateSql 类在:http://blog.csdn.net/hfmbook/article/details/41290641
转载请表名出处:http://blog.csdn.net/hfmbook

spring Jdbc自动获取主键。

标签:java   srping   jdbc   

原文地址:http://blog.csdn.net/hfmbook/article/details/41308049

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!