用jdbctemplate对象来简单操作数据库

本文介绍了Spring JDBC的JdbcTemplate及其简化操作,包括update(), queryForMap(), queryForList(), query(),和queryForObject()的使用,以及通过Junit进行单元测试的方法。重点展示了如何执行增删改查和计数查询,并演示了数据映射到JavaBean的过程。
摘要由CSDN通过智能技术生成

/**
* spring jdbc是spring框架对jdbc的简单封装,提供了一个jdbctemplate对象简化jdbc开发
* 其中有简单的方法来简化jdbc开发
* update()执行DML语句(即增删改查操作)
* queryForMap()查询结果并将查询结果封装成Map集合,
* 将列名作为键,将数据作为值,并将这条记录封装成Map集合
* 查询的结果集长度只能是1(即一条记录)
* queryForList()查询结果并将查询结果封装成List集合
* 将每一条记录封装成Map集合,最后将所有记录封装成一个List集合
* query()查询结果并将查询结果封装成JavaBean对象
* 使用 BeanPropertyRowMapper实现类,该类可以完成数据到JavaBean的自动封装
* new BeanPropertyRowMapper<好友信>(好友信.class)<对象类型(类名)>(字节码对象)
* queryForObject()查询结果并将查询结果封装成对象,该对象一般是基本数据类型(一般是用来对使用聚合函数的sql语句)
* String sql="select count(*) from s ";
* Long aLong = jdbcTemplate.queryForObject(sql, long.class);
*
*/
下面是通过Junit单元测试对代码进行测试,这些代码是对数据库进行简单的增删改和查询操作

  package hj.jdbc.springjdbctemplate;

import hj.jdbc.druidutils;
import org.junit.Test;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.sql.PreparedStatement;
import java.util.List;
import java.util.Map;

public class day1 {
 
    private static JdbcTemplate jdbcTemplate = new JdbcTemplate(druidutils.getDataSource());
    public static void main(String[] args) {
        //创建template对象,传参为datasource对象(即数据库连接池对象)

        String sql="delete from s where name=?";
        jdbcTemplate.update(sql,"反射");//按顺序来问号赋值


    }
    @Test
    public  void s(){
        String sql="insert into s(name,sex,grou) values(?,?,?)";
        jdbcTemplate.update(sql,"傻逼","男","脑掺");
    }
    @Test
    public  void s1(){
        String sql="select * from s where name=?";
        Map<String, Object> 傻逼 = jdbcTemplate.queryForMap(sql, "傻逼");//queryForMap()方法所查询返回的只能是一条记录(即一行)
        System.out.println(傻逼);
    }
    @Test
    public  void s2(){
        String sql="select * from s";
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        System.out.println(maps);
    }
    @Test
    public void s3() {
        String sql="select * from s";
        List<好友信> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<好友信>(好友信.class));//将表中数据封装成好友信对象
        //new BeanPropertyRowMapper<好友信>(好友信.class)<传你想要封装的对象类型(类名)>(字节码对象)
        System.out.println(query);

    }
    @Test
    public void s4(){
        String sql="select count(*) from s ";
        Long aLong = jdbcTemplate.queryForObject(sql, long.class);
        System.out.println(aLong);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值