JdbcTemplate的基本使用

本文介绍了如何利用Spring的JdbcTemplate进行数据库操作,包括创建表、插入、更新和删除数据,以及查询操作。通过示例代码展示了不同类型的SQL语句在JdbcTemplate中的应用,如insert、update、delete和query方法,同时也提到了queryForObject、queryForMap和queryForList等查询方法的使用,以及如何将查询结果转换为自定义实体类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建jdbcTemplate对象

//jdbcTemplate对象
private JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());

2.创建表,创建库
使用jdbcTemplate.execute()方法
可用于创建数据库以及数据表

String sql = "CREATE TABLE user (id int primary key auto_increment,username varchar(255), password varchar(255))";
jdbcTemplate.execute(sql);

3.对表中数据进行修改
使用jdbcTemplate.update()方法
数据库表的增删改


//插入数据
//方式1
String sql = "INSERT INTO user VALUES(null,'张三','123456')";
jdbcTemplate.update(sql);
//方式2
String sql = "INSERT INTO user VALUES(null,?,?)";
jdbcTemplate.update(sql,"张三","123456");


//更新操作
String sql = "update user set username=? where password=?"
jdbcTemplate.update(sql,"张三","123456");


//删除操作
String sql="DELETE FROM user WHERE id=?";
jdbcTemplate.update(sql,1);

//
//int result = jdbcTemplate.update(sql,1); result返回结果,0代表影响行数为0(即失败),1代表影响行数为1(即成功)

4.查询操作

  • 可使用jdbcTemplate.queryForObject() ,jdbcTemplate.queryForMap() ,jdbcTemplate.queryForList()
  • queryForObject() 查询结果封装为一个Object对象。(也可在(sql,__)横线中填返回值类型,即封装为一个所选返回值类型对象)
    • 用于只得到一个值
  • queryForMap() 查询结果封装为一个Map集合
    • 用于返回结果是数据库中一行的数据的结果在这里插入图片描述
  • queryForList() 查询结果封装为一个有许多Map构成的List
    • 用于返回结果是数据库中多行的数据的结果在这里插入图片描述
      例:
String sql = "SELECT COUNT(*) FROM user";
int count = jdbcTemplate.queryForObject(sql, int.class);

String sql = "SELECT password FROM user WHERE username = ?";
String password = jdbcTemplate.queryForObject(sql, String.class, "张三");

String sql = "SELECT * FROM user WHERE username = ?";
Map<String, Object> map = jdbcTemplate.queryForMap(sql, "张三");

String sql = "SELECT * FROM user";
List<Map<String, Object>> listMap = jdbcTemplate.queryForList(sql);

也可使用自定义实体类进行封装

String sql = "SELECT * FROM user WHERE username = ? and password = ?";
//调用query方法
User user = jdbcTemplate.queryForObject(sql,
                    new BeanPropertyRowMapper<User>(User.class),
                    loginUser.getUsername(), loginUser.getPassword());//loginUser来自传参 public User userLogin(User loginUser){}

实体类:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值