此处写上应用JdbcTemplate的dao操作数据库的一些代码(含基本的增删改查,注:重点是查询出多条语句的写法):

package org.sakaiproject.zhaorui.dao.impl;

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

import javax.annotation.Resource;

import org.sakaiproject.zhaorui.dao.StudentDao;
import org.sakaiproject.zhaorui.model.Student;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

@Repository
public class StudentDaoImpl implements StudentDao {
 
    @Resource(name="jdbcTemplate")
    private JdbcTemplate jdbcTemplate;

@SuppressWarnings("unchecked")
    @Override
    public List<Student> selectAll() {
        String sql = "select * from Student";
        return jdbcTemplate.query(sql,new StudentMapper());
        
    }
    @Override
    public void insertStudent(Student student) {
        try {
            jdbcTemplate.execute("insert into student(username,userpassword,userother) values("+student.getUsername()+","+student.getUserpassword()+","+student.getUserother()+")");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @Override
    public boolean updateStudent(Student student) {
        try {
            jdbcTemplate.update("update student set username="+student.getUsername()+",userpassword="+student.getUserpassword()+",userother="+student.getUserother()+" where usernumber = "+student.getUsernumber());
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    @Override
    public boolean deleteStudent(Integer usernumber) {
        try {
            jdbcTemplate.execute("delete from student where usernumber="+usernumber);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

}
class StudentMapper implements RowMapper {  
      
    @Override
    public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
          Student stu = new Student();  
           stu.setUsername(rs.getString("username"));
           stu.setUsernumber(rs.getInt("usernumber"));
           stu.setUserother(rs.getString("userother"));
           stu.setUserpassword(rs.getString("userpassword"));
        return stu;
    }
}

注:如果查询出来的是一条结果或者结果是基本类型,用下面代码即可,不用重写rowMapper的借口

package org.sakaiproject.zhaorui.dao.impl;

import org.sakaiproject.zhaorui.dao.TestDao;

import javax.annotation.Resource;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

@Repository
public class TestDaoImpl implements TestDao {
    
    @Resource(name="jdbcTemplate")
    private JdbcTemplate jdbcTemplate;

@Override
    public int count() {
        return jdbcTemplate.queryForObject("select count(1) from sakai_user", Integer.class);
    }

}

具体的SpringJDBC的例子请参照:http://my.oschina.net/u/218421/blog/38598,里面写的已经很详细了

SpringJDBC的简单应用的更多相关文章

  1. springmvc springJDBC 简单实训银行账户管理系统

    springmvc springJDBC 简单实训银行账户管理系统 1.简单介绍一下,在校时每周结束都会有一次学习总结,简称“实训”,这次实训内容是spring,因为是最近热门框架,我就先从基础方面开 ...

  2. 关于Spring-JDBC测试类的简单封装

    关于Spring-JDBC测试类的简单封装 1.简单封装 /** * Created with IntelliJ IDEA. * * @Author: Suhai * @Date: 2022/04/0 ...

  3. springJDBC实现mysql简单分页

    效果图:

  4. 框架dubbox的简单使用

    之前: RPC: Remote Produedure Call :一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议 SOA: Service-oriented architect ...

  5. Spring的简单demo

    ---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml ...

  6. Quartz定时任务简单实例

    文章纲要: 初步搭建一个由Quartz为引擎集群的定时任务模块,功能为每隔30秒打印一条信息(Hello World!!!) 一.环境 Spring MVC Mevan Quartz 2.2.1 二. ...

  7. Intellij IDEA +MAVEN+Jetty实现SpringMVC简单查询功能

    利用 Intellij IDEA +MAVEN+Jetty实现SpringMVC读取数据库数据并显示在页面上的简单功能 1 新建maven项目,配置pom.xml <project xmlns= ...

  8. 搭建最简单的SpringMVC框架(使用maven)

    本文说明:本文介绍使用maven搭建SpringMVC最简单的框架程序过程,适合初学者上手. 下载链接 点此进入下载链接 1.创建一个maven webapp工程. 2.修改WEB-INF目录下的we ...

  9. SpringJDBC

    <!-- JdbcTemplate:最基础的springJDBC模板,这个模板支持最简单的jdbc数据库访问功能以及简单的索引参数查询 NamedParameterJdbcTemplate:使用 ...

随机推荐

  1. Cocos2d-X3.0 刨根问底(七)----- 事件机制Event源码分析

    这一章,我们来分析Cocos2d-x 事件机制相关的源码, 根据Cocos2d-x的工程目录,我们可以找到所有关于事件的源码都存在放在下图所示的目录中. 从这个event_dispatcher目录中的 ...

  2. yum被锁Another app is currently holding the yum lock; waiting for it to exit...

    可能是系统自动升级正在运行,yum在锁定状态中. 可以通过强制关掉yum进程: #rm -f /var/run/yum.pid 然后就可以使用yum了.

  3. How much training data do you need?

    How much training data do you need?   //@樵夫上校: 0. 经验上,10X规则(训练数据是模型参数量的10倍)适用与大多数模型,包括shallow networ ...

  4. FCKeditor漏洞利用

    FCKeditor漏洞利用 查看编辑器版本 FCKeditor/_whatsnew.html fckeditor/editor/dialog/fck_about.html —————————————— ...

  5. struts2 + ajax + json的结合使用,实例讲解

    struts2用response怎么将json值返回到页面javascript解析,这里介绍一个struts2与json整合后包的用法. 1.准备工作 ①ajax使用Jquery:jquery-1.4 ...

  6. jgestures 一款jquery手势插件

    jgestures插件允许你如同原生的jQuery事件一样监听以下事件:'pinch'(缩放手势), 'rotate'(旋转手势), 'swipe'(滑动手势), 'tap'(轻触) 以及 'orie ...

  7. VirtualBox下安装rhel5.5 linux系统

    以前也用过VMware server和VMware workstation虚拟机,现在使用了一段时间VirtualBox,感觉它比较轻巧,很适合我,在Win7系统下用起来很方便.下面详细介绍下在Vir ...

  8. linux 的终端字体色和背景色的修改方法(二)

     Linux终端下的颜色设置 2013-08-31 22:57:15 分类: LINUX   在 ANSI 兼容终端(例如 xterm.rxvt.konsole 等)里, 可以用彩色显示文本而不仅仅是 ...

  9. Java中Comparable和Comparator实现对象比较

    1.通过Comparable实现排序 package Comparable; import java.util.Arrays; public class ComparableUser implemen ...

  10. python闭包小例子

    ------------------ 首先根据实例, 体会一下闭包的效果 ------------------ 定义闭包: def foo(x): a = [0] def bar(y): a[0] = ...