见证Spring Jdbc的强大

本文介绍了Spring框架中Spring JDBC的功能特点,包括使用Template模式简化SQL操作、参数转换、结果映射等功能,以及如何通过简单的代码实现数据库的增删查改操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring 不仅仅是一个IoC container。

其提供的Spring Jdbc提供了一层对jdbc很薄的封装,功能却是异常强大。

1、Template模式的使用,使我们只关心,sql, 输入参数,输出映射。

2、newBeanPropertySqlParameterSource(t) 直接把bean转成输入参数。

3、ParameterizedBeanPropertyRowMapper.newInstance(UserInfo.class)直接将bean转成输出映射。

4、一个dao根据输入参数不同,动态生成多条sql语句。很有一点ibatis的味道。

5、学习曲线低,会sql和jdbc的可以直接写。适合“你请到了只会写jsp和sql的极品,又想让他明天开始干活..... ”

详见:http://wiki.springside.org.cn/display/SpringSide3/ExtremeWeb

  1. packageorg.springside.examples.extremeweb.service;
  2. importjava.util.Collection;
  3. importorg.springframework.stereotype.Service;
  4. importorg.springframework.transaction.annotation.Transactional;
  5. importorg.springside.examples.extremeweb.entity.User;
  6. importorg.springside.examples.extremeweb.util.SimpleJdbcSupport;
  7. @Service
  8. @Transactional
  9. publicclassUserServiceextendsSimpleJdbcSupport{
  10. privatestaticStringQUERY_ALL_USER="selectname,login_name,passwordfromusers";
  11. privatestaticStringQUERY_USER="selectname,login_name,passwordfromuserswherelogin_name=?";
  12. privatestaticStringINSERT_USER="insertintousers(name,login_name,password)values(:name,:loginName,:password)";
  13. privatestaticStringDELETE_USER="deletefromuserswherelogin_name=?";
  14. privatestaticStringDELETE_USER_ROLES="deletefromusers_roleswhereuser_idin(selectidfromuserswherelogin_name=?)";
  15. @Transactional(readOnly=true)
  16. publicCollection<User>getAllUser(){
  17. returnjdbcTemplate.query(QUERY_ALL_USER,resultBeanMapper(User.class));
  18. }
  19. publicUsergetUser(StringloginName){
  20. returnjdbcTemplate.queryForObject(QUERY_USER,resultBeanMapper(User.class),loginName);
  21. }
  22. publicvoidcreateUser(Useruser){
  23. jdbcTemplate.update(INSERT_USER,paramBeanMapper(user));
  24. }
  25. publicvoiddeleteUser(StringloginName){
  26. jdbcTemplate.update(DELETE_USER_ROLES,loginName);
  27. jdbcTemplate.update(DELETE_USER,loginName);
  28. }
  29. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值