Java Spring-JdbcTemplate增删改查
2017-11-11 21:13:13
Spring 框架中提供了对持久层技术支持的类 :
- JDBC : org.springframework.jdbc.core.support.JdbcDaoSupport
- Hibernate 3.0 : org.springframework.orm.hibernate3.support.HibernateDaoSupport
- iBatis : org.springframework.orm.ibatis.support.SqlMapClientDaoSupport
增加,删除和修改的操作还是比较容易的,因为,并不需要有返回值。
增加,删除和修改的代码:
// User
public class User {
private Integer id;
private String name; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
} // UserDao
public class UserDao extends JdbcDaoSupport { public void add(User user){
String sql = "insert into user values(?,?)";
getJdbcTemplate().update(sql,user.getId(),user.getName());
} public void delete(User user){
String sql = "delete from user where id=?";
getJdbcTemplate().update(sql, user.getId());
} public void update(User user){
String sql = "update user set name=? where id=?";
getJdbcTemplate().update(sql, user.getName(), user.getId());
} } // 测试
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:config4.xml")
public class Jdbc3 { @Resource(name = "userdao")
private UserDao userdao; @Test
public void demo(){
User user= new User();
user.setName("刘亦菲");
user.setId(001); // userdao.add(user); //user.setName("胡歌");
//userdao.update(user); userdao.delete(user);
}
}
查找操作是相对比较麻烦的,因为这里一般是有返回值的。
针对返回值为基本类型的,可以比较方便的进行转换;
针对返回值是对象的,需要自定义转换方法;
查询代码:
// UserDao
public class UserDao extends JdbcDaoSupport { public void add(User user){
String sql = "insert into user values(?,?)";
getJdbcTemplate().update(sql,user.getId(),user.getName());
} public void delete(User user){
String sql = "delete from user where id=?";
getJdbcTemplate().update(sql, user.getId());
} public void update(User user){
String sql = "update user set name=? where id=?";
getJdbcTemplate().update(sql, user.getName(), user.getId());
} public int findCount(){
String sql = "select count(*) from user";
return this.getJdbcTemplate().queryForObject(sql,Integer.class);
} public String findNameByID(int id){
String sql = "select name from user where id = ?";
return getJdbcTemplate().queryForObject(sql,String.class,id);
} public User findUserByID(int id){
String sql = "select * from user where id = ?";
return getJdbcTemplate().queryForObject(sql, new MyRowMap(), id);
} public List<User> findAll(){
String sql = "select * from user";
return getJdbcTemplate().query(sql,new MyRowMap());
} // 匿名内部类进行自定义的类型转换
class MyRowMap implements RowMapper<User>{ /**
*
* @param resultSet:结果集,里面包含所有的结果
* @param i:行号
* @return 将每一行的数据自行转成需要的对象的数据类型
* @throws SQLException
*/
@Override
public User mapRow(ResultSet resultSet, int i) throws SQLException {
User user = new User();
user.setName(resultSet.getString("name"));
user.setId(resultSet.getInt("id"));
return user;
}
}
} // 查询
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:config4.xml")
public class Jdbc3 { @Resource(name = "userdao")
private UserDao userdao; @Test
public void demo(){
User user= new User();
user.setName("章子怡");
user.setId(002); userdao.add(user);
} @Test
public void demo2(){
System.out.println(userdao.findCount()); List<User> ls = userdao.findAll();
for(User user:ls){
System.out.println(user);
}
}
}
Java Spring-JdbcTemplate增删改查的更多相关文章
- sssp-springmvc+spring+spring-data-jpa增删改查
环境:IDE:eclipse.jdk1.7.mysql5.7.maven 项目结构图 上面目录结构你可以自己创建 搭建框架 首先加入maven依赖包以及相关插件 <dependencies> ...
- java DMO及增删改查代码的自动生成
在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了 ...
- 【简易版】Java ArrayList(增删改查)
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: (1)动态的增加和减少元素 (2)实现了ICollectio ...
- 百度鹰眼Java接口调用增删改查实例
因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...
- Java学生信息增删改查(并没用数据库)
一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...
- MongoDB(二)-- Java API 实现增删改查
一.下载jar包 http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 二.代码实现 package com.xbq.mongo ...
- LR接口测试---Java Vuser之增删改查
import lrapi.lr; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- MongoDB(六)java操作mongodb增删改查
java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...
- vue.js+element ui Table+spring boot增删改查
小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...
- JdbcTemplate增删改查
1.使用JdbcTemplate的execute()方法执行SQL语句 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, n ...
随机推荐
- Linux配置Nginx,MySql,php-fpm开机启动的方法
一. Nginx 开机启动 1.在/etc/init.d/目录下创建脚本 vim /etc/init.d/nginx 2.编写脚本内容 (将以下复制进去相应改动安装路径) 1 2 3 4 5 6 7 ...
- 解决IE7下scroll的bug
IE7下scroll滚动问题 没法撑开 ie7下没办法撑开div; 即是设置了overflow-y:scroll; 解决版本:给设置scroll的容器加上position:relative
- redis缓存数据架构实战
redis命令参考:http://redisdoc.com/ 与memcache对比 redis安装配置 yum安装 yum -y install redis 源码安装 PS:make报错**问题:* ...
- tensorflow和python操作中的笔记
前一段时间做了一些项目,把一些笔记放在了txt中,现分享出来,自己也能够时长预习. 1) 读取文件时,将固定的文件地址,采用数组或者字符串的形式,提前表示出来,后期使用时候采用拼接操作 2) # 得到 ...
- Django - Ajax - 参数
一.Jquery实现Ajax url type data success error complete statusCode {% load staticfiles %} < ...
- (1.2)DML增强功能-4大排名函数与top ties/tablesample
关键字:sql server窗口函数.分析函数.四大窗口函数 1.row_number() over( partition by column order by column) (1)测试数据 (2 ...
- (转)利用Spring AOP自定义注解解决日志和签名校验
一.需解决的问题 部分API有签名参数(signature),Passport首先对签名进行校验,校验通过才会执行实现方法. 第一种实现方式(Origin):在需要签名校验的接口里写校验的代码,例如: ...
- Linux查看系统版本信息
1.查看操作系统相关信息 uname -a 2.查看正在运行的内核版本信息 cat /proc/version //uname -r 3.查看发行版本号 (适用于所有的linux,包括Redhat. ...
- cocos代码研究(26)Widget子类RichView学习笔记
理论部分 一个显示多个RichElement的容器类. 我们可以使用它很容易显示带图片的文本,继承自 Widget. 代码实践 static RichText * create ()创建一个空的Ric ...
- centOS下升级python版本,详细步骤
1.可利用linux自带下载工具wget下载,如下所示:( 笔者安装的是最小centos系统,所以使用编译命令前,必须安装wget服务,读者如果安装的是界面centos系统,或者使用过编译工具则可跳 ...