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增删改查的更多相关文章

  1. sssp-springmvc+spring+spring-data-jpa增删改查

    环境:IDE:eclipse.jdk1.7.mysql5.7.maven 项目结构图 上面目录结构你可以自己创建 搭建框架 首先加入maven依赖包以及相关插件 <dependencies> ...

  2. java DMO及增删改查代码的自动生成

    在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了 ...

  3. 【简易版】Java ArrayList(增删改查)

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: (1)动态的增加和减少元素 (2)实现了ICollectio ...

  4. 百度鹰眼Java接口调用增删改查实例

    因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...

  5. Java学生信息增删改查(并没用数据库)

    一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...

  6. MongoDB(二)-- Java API 实现增删改查

    一.下载jar包 http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 二.代码实现 package com.xbq.mongo ...

  7. LR接口测试---Java Vuser之增删改查

    import lrapi.lr; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  8. MongoDB(六)java操作mongodb增删改查

    java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...

  9. vue.js+element ui Table+spring boot增删改查

    小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...

  10. JdbcTemplate增删改查

    1.使用JdbcTemplate的execute()方法执行SQL语句 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, n ...

随机推荐

  1. [Linux]ssh相关问题

    ssh链接不上的最可能原因是防火墙没关,一般提示“connection refused”. 可以使用这个命令查看:#service iptables status 暂时关闭iptables,重启后还会 ...

  2. 从零打造在线网盘系统之Struts2框架配置全解析

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  3. 其他ip无法访问Yii的gii,配置ip就可以

    该文件下的IP ///public $allowedIPs = ['127.0.0.1', '::1']; 修改这里的IP就可以了  

  4. Oracle之catalog恢复目录的创建于维护(51CTO风哥rman课程)

    catalog恢复目录配置过程 1,创建一个表空间 2,创建rman用户并授权 3,创建恢复目录 4,配置TNS 5,注册数据库 6,检查 创建ramn表空间 首先查看一下其他表空间位置 create ...

  5. go 工具链目前[不支持编译 windows 下的动态链接库]解决方案

    go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2].想要产生dll,可以这样 workaround ,参考 golang [issuse#11058][ ...

  6. python问答模块

    """ 该模块功能:获取用户的输入文本,通过输入文本和数据库中的关键主题文本相比较, 获取最佳的回答内容 """ import xlrd i ...

  7. 一致性hash 大众点评订单分库分表实践

    井底之蛙 https://mp.weixin.qq.com/s?src=3&timestamp=1543228894&ver=1&signature=uF6nV0yYseJ55 ...

  8. Python开发【笔记】:如何在字典遍历中删除key值?

    数据遍历时不能犯傻系列 前言: 针对字典做一些操作时,有时会遇到下面的状况,列如我们需要把data中的key值根据replace中的映射关系进行替换(Caller替换为caller) data = { ...

  9. blockchain 区块链的开发,基于python或node js

    现在很多人用node js做区块链的开发,因为点对点并发是区块链中的难点技术之一,而node js天然的对并发支持比较好,因此比较有优势. http://ecomunsing.com/build-yo ...

  10. 一个简单的3D范例,是在别人基础上面整理的。

    一个简单的范例,是在别人基础上面整理的.原来的例子,框图太乱了,没有条理感. http://pan.baidu.com/s/1eQTyGCE