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 ...
随机推荐
- 模拟退火算法A Star not a Tree?(poj2420)
http://write.blog.csdn.net/postedit A Star not a Tree? Time Limit: 1000MS Memory Limit: 65536K Tot ...
- 170801、VM性能调优
最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录. 一.JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老 ...
- 2.06StuModify.aspx(修改姓名,性别,所在班级)
meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title ...
- ajax 实现单选按钮的选中值
<input type=" checked="checked" /> 男 <input type="/>女 $(".s ...
- Oracle在linux下命令行无法使用退格键退格,无法使用上下键切换历史命令的解决办法
使用xshell等客户端登录oracl时在命令行无法使用退格键也无法使用上下键切换历史命令可以使用rlwrap解决 1,linux环境 2,下载rlwrap wget http://files.cnb ...
- Oracle管理监控之使用utl_mail自动邮件报警配置
--代发邮件存储过程源码如下: CREATE OR REPLACE PROCEDURE send_mail(p_recipient VARCHAR2, -- 邮件接收人 ...
- SDL结合QWidget的简单使用说明(2)
上篇主要讲了针对yv12流数据的渲染,但有时候我们显示视频还要求加一些信息,比如头像,昵称等等.一般的想法是在渲染窗口之上做一个小控件来负责: 但是很遗憾,你会发现你的控件被SDL的渲染完全遮住了,渲 ...
- 爬虫之BeautifulSoup
BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后便可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单. ...
- [py]class的特殊方法
类方法 解释 hasattr hasattr(class) getattr - setattr - delattr - - - __getattr__ __setattr__ __delattr__ ...
- Deep Learning(2)
二.Deep Learning的基本思想和方法 实际生活中,人们为了解决一个问题,如对象的分类(对象可是是文档.图像等),首先必须做的事情是如何来表达一个对象,即必须抽取一些特征来表示一个对象,如文本 ...