`
- 浏览:
250647 次
- 性别:
- 来自:
上海
-
package hvp.spring.jdbc.jdbctemplate;
import hvp.spring.commons.inim.UserPO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;
public class UserDAO
{
JdbcTemplate jt;
public UserDAO()
{
this.jt = this.getJdbcTemplate2();
}
public JdbcTemplate getJdbcTemplate2()
{
String configPath = "hvp/spring/jdbc/jdbctemp/beans.xml";
ApplicationContext ctx = new ClassPathXmlApplicationContext(configPath);
return (JdbcTemplate) ctx.getBean("jdbcTemplate");
}
public void createTable()
{
StringBuffer sql = new StringBuffer();
sql.append("CREATE TABLE t_user(");
sql.append("user_id int AUTO_INCREMENT PRIMARY KEY,");
sql.append("user_name VARCHAR(32)");
sql.append(")");
jt.execute(sql.toString());
}
public UserPO addUser(final UserPO po)
{
final String sql = "INSERT INTO t_user(user_name) VALUES (?)";
KeyHolder keyHolder = new GeneratedKeyHolder();
jt.update(new PreparedStatementCreator()
{
public PreparedStatement createPreparedStatement(Connection conn)
throws SQLException
{
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, po.getUserName());
return ps;
}
}, keyHolder);
po.setUserId(keyHolder.getKey().intValue());
System.out.println(po.getUserId() + ":" + po.getUserName());
return po;
}
@SuppressWarnings("unchecked")
public List<UserPO> queryUserPOs()
{
StringBuffer sql = new StringBuffer();
sql.append("SELECT user_id,user_name FROM t_user");
sql.append(" LIMIT ");
sql.append(0);
sql.append(",");
sql.append(10);
return jt.query(sql.toString(), new RowMapper()
{
public Object mapRow(ResultSet rs, int index)
throws SQLException
{
UserPO userPO = new UserPO();
userPO.setUserId(rs.getInt("user_id"));
userPO.setUserName(rs.getString("user_name"));
return userPO;
}
});
}
public UserPO findUser(Integer userId)
{
String sql = "SELECT user_id,user_name FROM t_user WHERE user_id=?";
return (UserPO) jt.queryForObject(sql, new Object[] { userId },
new RowMapper()
{
public Object mapRow(ResultSet rs, int index)
throws SQLException
{
UserPO userPO = new UserPO();
userPO.setUserId(rs.getInt("user_id"));
userPO.setUserName(rs.getString("user_name"));
return userPO;
}
});
}
public int getCount()
{
String sql = "SELECT COUNT(*) FROM t_user";
return jt.queryForInt(sql);
}
public static void main(String[] args)
{
UserDAO ct = new UserDAO();
// UserPO user = new UserPO();
// user.setUserName("Huy Vanlee");
// ct.addUser(user);
System.out.println(ct.queryUserPOs());
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
**基于注解的Spring JdbcTemplate** 在Java世界中,Spring框架是企业级应用开发的首选。Spring JDBC模絫提供了一种简洁的方式来处理数据库操作,而`Spring JdbcTemplate`是这个模絫的核心组件。本教程将深入探讨...
使用 Spring JdbcTemplate 调用 Oracle 存储过程实现 CRUD 在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储...
Spring的JdbcTemplate是Spring框架中用于简化数据库操作的工具类,它是基于JDBC但又抽象出了一层,避免了直接与数据库驱动API交互,从而提高了代码的可读性和可维护性。本文将深入探讨Spring JdbcTemplate的常用方法...
首先,我们要理解Spring JDBCTemplate的工作原理。它作为一个模板类,提供了执行SQL语句的方法,如`update()`, `query()`, `insert()`, `delete()`等。开发者只需要提供SQL语句和参数绑定,JDBCTemplate会自动处理...
SpringJdbcTemplate是Spring框架中用于简化Java数据库访问的工具,它是Spring JDBC模块的核心。这个封装工具类的出现是为了提供一种更简洁、易于使用的接口来执行SQL操作,减轻开发者处理数据库连接、事务管理以及...
《深入解析Spring JdbcTemplate》 Spring JDBC Template是Spring框架中用于简化JDBC操作的一个核心组件,它是Spring对JDBC API的封装,旨在提供一个更加简洁、健壮且可测试的数据库访问层。在这个实例工程中,我们...
Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,...
在Spring框架中,JdbcTemplate是用于简化数据库操作的重要工具,它是Spring JDBC模块的一部分。通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文...
模仿spring jdbcTemplate的粗略实现,只有很小的参考价值,如果是java初学者可以使用这个封装好的工具进行数据库操作,只需要在db.properties里配置好driver,url等信息
在Spring框架中,`JdbcTemplate`是用于简化Java数据库连接(JDBC)操作的一个核心组件。这个类提供了很多方法来执行SQL查询、更新语句,包括批处理操作。本篇文章将详细探讨`batchUpdate`方法及其在实际开发中的应用...
Struts2、Spring和Spring JDBC Template是Java Web开发中常用的三个框架,它们分别负责不同的职责。Struts2作为MVC(Model-View-Controller)框架,主要处理前端请求和业务逻辑;Spring则是一个全面的后端框架,提供...
Spring JdbcTemplate是Spring框架中用于简化数据库操作的一个重要组件,它是Spring对JDBC的轻量级封装,旨在提供一种结构良好、易于使用的SQL执行机制,同时保持了JDBC的灵活性。在本实例中,我们将深入探讨Spring ...
Spring JdbcTemplate是Spring框架中的一个核心组件,主要用来简化数据库操作。它提供了一种模板方法设计模式,将SQL语句的执行与结果处理进行了抽象,使得开发者可以更加专注于业务逻辑,而无需关心底层数据访问的...
根据给定的文件信息,以下是对“Spring JdbcTemplate API”的详细知识点解析: ### Spring JdbcTemplate API:数据库操作的模板模式 #### 概述 在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,...
《Spring JdbcTemplate 深入解析与实战应用》 在Java世界中,Spring框架以其强大的功能和灵活性,深受广大开发者的喜爱。其中,Spring JDBC Template是Spring提供的一个用于简化数据库操作的工具,它抽象了JDBC API...
在Java Web开发中,Spring框架提供了丰富的工具来简化数据库操作,其中之一就是`Spring JdbcTemplate`。`JdbcTemplate`是Spring对JDBC(Java Database Connectivity)的一层轻量级封装,它使得开发者能够更加方便地...
SSH笔记-Spring JdbcTemplate是关于如何在Spring框架中利用JdbcTemplate进行数据库操作的教程。Spring是一个广泛应用的Java企业级应用框架,它提供了多种数据访问工具,而JdbcTemplate就是其中之一,用于简化JDBC...
1.Spring4前 spring-jdbc包是独立的,4以后spring-jdbc 就已经没有了