`
jamesby
  • 浏览: 383481 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JdbcTemplate代码的部分使用

阅读更多
package com.cm.main.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import com.cm.main.dao.AbstractDao;
import com.cm.main.dao.TestJdbcTemplateDao;
import com.cm.main.bo.User;

public class TestJdbcTemplateDaoImpl extends AbstractDao implements
		TestJdbcTemplateDao {

	public void updateDescription(int id, String description) {
		JdbcTemplate jt = new JdbcTemplate(getDataSource());
		jt.update("update oa_test_1 set description = ? where id = ?", new Object[] {
				description, new Integer(id) });
	}

	public int getCount() {
		JdbcTemplate jt = new JdbcTemplate(getDataSource());
		int count = jt.queryForInt("select count(*) from oa_test_1");
		return count;
	}

	public String getDescription() {
		JdbcTemplate jt = new JdbcTemplate(getDataSource());
		String name = (String) jt.queryForObject(
				"select description from oa_test_1 where id=1", String.class);
		return name;
	}

	public List getTestList(int id) {
		String sql = "select id, description from oa_test_1 where id = ?";
		RowMapper mapper = new RowMapper() {
			public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
				User user = new User();
				user.setUserid(new Integer(rs.getInt("id")));
				user.setUsername(rs.getString("description"));
				return user;
			}
		};
		JdbcTemplate jt = new JdbcTemplate(this.getDataSource());
		return jt.query(sql, new Object[] { new Integer(id) }, mapper);
	}
}



package com.cm.main.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.util.List;

import javax.sql.DataSource;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.object.MappingSqlQuery;
import org.springframework.jdbc.object.SqlUpdate;

import com.cm.main.bo.User;
import com.cm.main.dao.AbstractDao;
import com.cm.main.dao.UserDao;

public class UserDaoImpl extends AbstractDao implements UserDao,
		InitializingBean {

	private UserInsert insert;

	private UserUpdate update;

	private UserDelete delete;

	private UserMappingQuery query;
	
	public void afterPropertiesSet() {
		insert = new UserInsert(getDataSource());
		update = new UserUpdate(getDataSource());
		delete = new UserDelete(getDataSource());
		query = new UserMappingQuery(getDataSource());
	}
	private class UserMappingQuery extends MappingSqlQuery {

		public UserMappingQuery(DataSource ds) {
			super(ds,
					"select id,description from oa_test_1 where description=?");
			super.declareParameter(new SqlParameter("description",
					Types.VARCHAR));
			compile();
		}

		public Object mapRow(ResultSet rs, int rowNumber) throws SQLException {
			User user = new User();
			user.setUserid(new Integer(rs.getInt("id")));
			user.setUsername(rs.getString("description"));
			return user;
		}
	}
	public class UserInsert extends SqlUpdate {
		public UserInsert(DataSource ds) {
			setDataSource(ds);
			setSql("insert into oa_test_1(description) values(?)");
			declareParameter(new SqlParameter(Types.VARCHAR));
			compile();
		}

		public int insertUser(String description) {
			Object[] params = new Object[] { new String(description) };
			return update(params);
		}
	}

	public class UserUpdate extends SqlUpdate {
		public UserUpdate(DataSource ds) {
			setDataSource(ds);
			setSql("update oa_test_1 set description=? where id=?");
			declareParameter(new SqlParameter(Types.VARCHAR));
			declareParameter(new SqlParameter(Types.INTEGER));
			compile();
		}

		public int updateUser(int id, String description) {
			Object[] params = new Object[] { new String(description),
					new Integer(id) };
			return update(params);
		}
	}

	public class UserDelete extends SqlUpdate {
		public UserDelete(DataSource ds) {
			setDataSource(ds);
			setSql("delete from oa_test_1 where id=?");
			declareParameter(new SqlParameter(Types.INTEGER));
			compile();
		}

		public int deleteUser(int id) {
			Object[] params = new Object[] { new Integer(id) };
			return update(params);
		}
	}

	public void insertTest() {
		insert.insertUser("jdbc template");
	}

	public void updateTest() {
		update.updateUser(218, "updated by jdbc template");
	}

	public void deleteTest() {
		delete.deleteUser(217);
	}

	public List getUserList(String description) {
		Object[] parms = new Object[1];
		parms[0] = description;
		return query.execute(parms);
	}	
	
}
分享到:
评论

相关推荐

    SpringJdbcTemplate封装工具类

    此外,还可以使用`JdbcPagingItemReader`作为Spring Batch的一部分来实现高效的分页读取。 5. **事务管理** SpringJdbcTemplate继承自`JdbcAccessor`,包含了事务管理的支持。它可以自动将数据库操作封装在事务中...

    JdbcTemplate示例

    这个模板类封装了大部分与JDBC相关的低级细节,使开发者能够更专注于业务逻辑,而不是数据访问代码。 ### 创建(Create) 创建新记录通常涉及插入操作。使用`JdbcTemplate`,你可以通过调用`update()`方法来执行...

    简单介绍如何使用Spring Boot使用JdbcTemplate与MySQL进行数据库操作

    JdbcTemplate提供了丰富的API,可以满足大部分数据库操作需求,同时保持代码简洁和易于测试。在大型项目中,你还可以考虑使用Spring Data JPA或MyBatis等更高级的持久层框架,它们在JdbcTemplate的基础上提供了更多...

    spring的jdbcTemplate小案例

    在本文中,我们将深入探讨Spring框架中的一个核心组件——JdbcTemplate。JdbcTemplate是Spring提供的一种数据库操作工具,它简化了数据库访问,使开发者...在实际项目中,JdbcTemplate是Spring开发中不可或缺的一部分。

    JavaEE JdbcTemplate的简单示例

    JavaEE是企业级应用开发的重要框架,而Spring框架作为JavaEE的核心部分,提供了一系列的强大功能,其中JdbcTemplate是Spring提供的一个用于简化数据库操作的工具。本篇将详细讲解JdbcTemplate的简单示例,帮助开发者...

    jdbcTemplate的jar包.rar

    而JdbcTemplate作为Spring框架的一部分,旨在简化这些过程,提高代码的可读性和可维护性。 JdbcTemplate的使用通常涉及以下知识点: 1. **依赖注入**:Spring的核心特性之一,允许将数据库连接配置信息(如数据源...

    SpringMvc+jdbcTemplate+mysql(注解)

    通过使用JdbcTemplate,开发者可以避免大量的数据库连接管理代码,减少错误,并且能够更好地控制事务管理。 【注解】 在Java编程中,注解(Annotation)是一种元数据,可以提供有关代码的信息,但不会直接影响代码...

    springmvc JdbcTemplate demo

    JdbcTemplate是Spring框架的一部分,专门用于简化数据库操作,提供了一种模板方法模式来处理SQL语句,使得代码更简洁、可读性更强,同时减少了对低级JDBC API的直接依赖。 SpringMVC与JdbcTemplate的集成是企业级...

    JdbcTemplate通用泛型Dao实现

    通过使用`JdbcTemplate`,开发者可以避免编写大量重复的JDBC代码,同时减少数据库操作中的错误。 `JdbcTemplate`的泛型Dao实现是一种设计模式,目的是提高代码的可重用性和可维护性。通过定义一个泛型接口,我们...

    使用Spring JDBCTemplate进行增删改查curd操作

    通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文将深入探讨如何利用Spring JdbcTemplate进行CURD(Create、Read、Update、Delete)操作。 1. ...

    jdbcTemplate的使用方法.pdf

    《JdbcTemplate:Spring框架中...它的使用不仅减少了代码量,还提高了代码的可读性和可维护性,是Spring框架中不可或缺的一部分。通过掌握JdbcTemplate,开发者可以更高效地进行数据库交互,提升软件项目的质量和效率。

    jdbcTemplate需要用到的jar包.zip

    总之,JdbcTemplate是Spring提供的一种强大且易于使用的数据库访问工具,它减少了编写大量重复的JDBC代码,提高了开发效率。通过理解和熟练使用JdbcTemplate,你可以更好地进行数据库操作,并专注于业务逻辑的实现。

    Spring-JdbcTemplate

    例如,上述部分给出的JDBC示例代码中,虽然完成了基本的数据库查询功能,但代码量较大,且错误处理部分复杂,尤其是try-catch-finally块的频繁使用,增加了代码的维护难度。 为了解决这些问题,Spring引入了...

    JDBCTemplate相关jar包

    通过使用JDBCTemplate,开发者可以避免编写大量重复的JDBC模板代码,提高代码的可读性和可维护性。 4. **spring-tx-5.3.9.jar**:事务管理是企业级应用中的关键部分。此jar包提供了声明式和编程式的事务管理。在...

    jdbcTemplate相关jar包.zip

    在Java世界中,JdbcTemplate是Spring框架的一部分,用于简化数据库操作。它提供了一种模板方法设计模式,使得开发者可以方便地执行SQL语句,而无需处理底层的JDBC细节。这个压缩包“jdbcTemplate相关jar包.zip”包含...

    JdbcTemplate简单实例

    JdbcTemplate是Spring框架的一部分,它为JDBC提供了一种模板方法模式的实现,使得数据库操作变得更加简洁、易用。JdbcTemplate通过预编译的SQL语句、参数绑定和结果集处理等功能,有效地降低了SQL注入的风险,同时也...

    Spring JDBCTemplate连接池jar包

    开发者只需要提供SQL语句和参数绑定,JDBCTemplate会自动处理事务管理、异常转换以及结果集的映射,大大减少了编写数据库操作代码的工作量。 在Spring JDBCTemplate中,连接池扮演着关键角色。连接池管理数据库连接...

    Spring JdbcTemplate api

    在Spring框架中,`JdbcTemplate`是一个用于简化JDBC编程的工具类,它采用了模板模式来分离数据库访问中的不变和可变部分,提供了一种更加健壮且易于使用的数据访问机制。`JdbcTemplate`负责处理资源的获取、关闭以及...

    springmvc+jdbctemplate+mysql(采用注解方式)

    JdbcTemplate是Spring框架的一部分,用于简化数据库操作。它提供了一种安全、有效的SQL执行机制,避免了手动管理数据库连接。通过使用注解,如`@Autowired`注入DataSource,然后在方法上使用`@Transactional`进行...

    springMVC+JDBCTemplate在线装机系统

    JDBCTemplate是Spring框架提供的一个数据库操作模板类,用于简化JDBC的使用,避免了大量重复的代码,提高了开发效率,同时增强了代码的可读性和可维护性。 1. 事务管理:JDBCTemplate支持自动提交和回滚事务,确保...

Global site tag (gtag.js) - Google Analytics