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);
        }
    }
}
时间: 2024-10-09 23:35:36

Java Spring-JdbcTemplate增删改查的相关文章

JdbcTemplate增删改查

1.使用JdbcTemplate的execute()方法执行SQL语句 Java代码   jdbcTemplate.execute("CREATE TABLE USER (user_id integer, name varchar(100))"); 2.如果是UPDATE或INSERT,可以用update()方法. Java代码   jdbcTemplate.update("INSERT INTO USER VALUES('" + user.getId() + &q

JdbcTemplate(增删改查以及以注释实现增删改查)

JdbcTemplate介绍 为了使 JDBC 更加易于使用,Spring 在 JDBCAPI 上定义了一个抽象层, 以此建立一个JDBC存取框架,Spring Boot Spring Data-JPA. 作为 SpringJDBC 框架的核心, JDBC 模板的设计目的是为不同类型的JDBC操作提供模板方法. 每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务. 通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低. JdbcTemplate方法介绍 execute

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

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

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

1 import lrapi.lr; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 8 public class Actions { 9 //定义用户名,密码,连接的URL 10 String username = "root"; 11 String password

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

1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: (1)动态的增加和减少元素 (2)实现了ICollection和IList接口 (3)灵活的设置数组的大小 2.ArrayLis的创建以及增删改查方法 (1)ArrayList的创建以及元素的添加ArrayList <变量名> = new ArrayList(); //()中也可传参. 注释:上面是创建一个空的ArrayList列表.当我们想往列表中传递元

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

在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了一个自动生成结构代码的工具jar包,可以根据数据库表直接生成相应数据库模型对象(DMO)以及对表的增删改查代码. 之前我考虑过多种自动生成代码的提供方式,比如web的方式,通过在页面文本框里面输入各种参数,比如模板文件地址,生成文件地址,数据库名,数据库用户名和密码等,点击生成按钮就可以生成源代码文

深入浅出MongoDB(六)java操作mongodb增删改查

java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作. 首先我们进入进入admin数据库,然后建立自己的数据库testMongoDb,进入admin数据库后,就可以直接进入testMongoDb,因为用户可以进入系统的数据库,就是超级管理员,use testMongoDb后,为该数据库设置用户名和密码,db.addUser('root','root'),这样我们在程序中连该数据库,并实现增删改查,代码如下所示.

MongoDB java API 实现增删改查

一.下载jar包 http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 二.代码实现 1 package com.xbq.mongodb; 2 import java.util.ArrayList; 3 import java.util.HashMap; 4 import java.util.List; 5 import java.util.Map; 6 import org.bson.types.ObjectId; 7 i

Java操作MongoDB增删改查完美Demo

--因为实习工作需要,在学MongoDB,参考了公司的一个MongDB服务类,写了一个整合的Demo,涉及到的大部分的增删改查操作,而且还算规范,给大家参考!源代码:(完整项目文件下载链接:点击打开链接)http://download.csdn.net/detail/zhangliangzi/9555872 使用说明: 一.MongoDB数据库参数配置 1.推荐使用mongodb.cfg.properties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配置

java字符串的增删改查 StringBuffer

StringBuffer 的增删改查,这样使用! 输出结果就是后面注释 StringBuffer sb = new StringBuffer("HelloWork1234567890"); // 增加(在字符串末尾插入字符) System.out.println(sb.append(".java")); //HelloWork1234567890.java // 插入(在索引 2 的位置插入字符) System.out.println(sb.insert(2,&qu