SpringJDBC的简单应用
此处写上应用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的简单应用的更多相关文章
- springmvc springJDBC 简单实训银行账户管理系统
springmvc springJDBC 简单实训银行账户管理系统 1.简单介绍一下,在校时每周结束都会有一次学习总结,简称“实训”,这次实训内容是spring,因为是最近热门框架,我就先从基础方面开 ...
- 关于Spring-JDBC测试类的简单封装
关于Spring-JDBC测试类的简单封装 1.简单封装 /** * Created with IntelliJ IDEA. * * @Author: Suhai * @Date: 2022/04/0 ...
- springJDBC实现mysql简单分页
效果图:
- 框架dubbox的简单使用
之前: RPC: Remote Produedure Call :一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议 SOA: Service-oriented architect ...
- Spring的简单demo
---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml ...
- Quartz定时任务简单实例
文章纲要: 初步搭建一个由Quartz为引擎集群的定时任务模块,功能为每隔30秒打印一条信息(Hello World!!!) 一.环境 Spring MVC Mevan Quartz 2.2.1 二. ...
- Intellij IDEA +MAVEN+Jetty实现SpringMVC简单查询功能
利用 Intellij IDEA +MAVEN+Jetty实现SpringMVC读取数据库数据并显示在页面上的简单功能 1 新建maven项目,配置pom.xml <project xmlns= ...
- 搭建最简单的SpringMVC框架(使用maven)
本文说明:本文介绍使用maven搭建SpringMVC最简单的框架程序过程,适合初学者上手. 下载链接 点此进入下载链接 1.创建一个maven webapp工程. 2.修改WEB-INF目录下的we ...
- SpringJDBC
<!-- JdbcTemplate:最基础的springJDBC模板,这个模板支持最简单的jdbc数据库访问功能以及简单的索引参数查询 NamedParameterJdbcTemplate:使用 ...
随机推荐
- bzoj 1458 网络流
我们可以知道每行最多可以有多少个格子不用建点,设为x[i],每列同理设为y[i],那么我们连接(source,i,x[i]),(i,sink,y[i])表示我们将一个格子不建点,那么(i,j,flag ...
- 【BZOJ-2733】永无乡 Splay+启发式合并
2733: [HNOI2012]永无乡 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2048 Solved: 1078[Submit][Statu ...
- BZOJ-1477 青蛙的约会 拓展欧几里德
充权限之前做的...才来交 1477: 青蛙的约会 Time Limit: 2 Sec Memory Limit: 64 MB Submit: 369 Solved: 233 [Submit][Sta ...
- js阻止表单重复提交
//校验表单的数据 function newFatherModuleVerify() { var moduelName = $('#fatherModule_moduelName').val(); a ...
- RedGate .NET Reflector注册问题(反注册)
Reflector分为桌面版和VS集成版本,当我们使用注册机注册的时候如果注册了Standvard版本,那么我们的VS就不能集成查看,也不能Debug,那么这 显然不是我们想要的,我们会选择重新注册, ...
- USACO 3.2 msquare 裸BFS
又是个裸BFS... 和西安网赛那道1006一样的,只不过加上了要记录方案.顺便复习map 记录方案直接在bfs队列的结点里加一个vector<int> opt,把从开头一直到当前结点的操 ...
- Laravel教程 四:数据库和Eloquent
Laravel教程 四:数据库和Eloquent 此文章为原创文章,未经同意,禁止转载. Eloquent Database 上一篇写了一些Laravel Blade的基本用法和给视图传递变量的几种方 ...
- 使用migrate.exe执行EF code first 迁移
Code First 迁移可用于从 Visual Studio 内部更新数据库,但也可通过命令行工具 migrate.exe 来执行.本页简单介绍如何使用 migrate.exe 对数据库执行迁移. ...
- RTSP RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议
RTSP 编辑 RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetwo ...
- MVC利用Routing实现多域名绑定一个站点、二级域名以及二级域名注册Area
最近有这么个需求:在一个站点上绑定多个域名,每个域名进去后都要进入不同的页面.实现了这个功能以后,对于有多个域名,且有虚拟空间,但是虚拟空间却只匹配有一个站点的用户来说,可以节省很多小钱钱. 很久以前 ...