快速学习JdbcTemplate笔记

this.userId = userId;

}

public void setUsername(String username) {

this.username = username;

}

public void setUstatus(String ustatus) {

this.ustatus = ustatus;

}

}

2、编写service和dao

(1)在dao进行数据库添加操作

(2)调用JdbcTemplate对象里面update方法实现添加操作

  • 有两个参数

  • 第一个参数:sql语句

  • 第二个参数:可变参数,设置sql语句值

package com.haust.spring5.dao;

import com.haust.spring5.entity.Book;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.stereotype.Repository;

@Repository

public class BookDaoImpl implements BookDao {

//注入JdbcTemplate

@Autowired

private JdbcTemplate jdbcTemplate;

@Override

public void add(Book book) {

//创建sql语句

String sql = “insert into t_book values (?,?,?)”;

//2、调用方法实现

int update = jdbcTemplate.update(sql,book.getUserId(),book.getUsername(),book.getUstatus());

System.out.println(update);

}

}

3、测试类

package com.haust.spring5.test;

import com.haust.spring5.entity.Book;

import com.haust.spring5.service.BookService;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestBook {

@Test

public void testJdbcTemplate(){

ApplicationContext context =

new ClassPathXmlApplicationContext(“bean1.xml”);

BookService bookService = context.getBean(“bookService”, BookService.class);

Book book = new Book();

book.setUserId(“1”);

book.setUsername(“java”);

book.setUstatus(“a”);

bookService.addBook(book);

}

}

JdbcTemplate操作数据库(修改和删除)


1、修改

@Override

public void updateBook(Book book) {

String sql = “update t_book set username=?,ustatus=? where userid=?”;

Object[] args ={book.getUsername(),book.getUstatus(),book.getUserId()};

int update = jdbcTemplate.update(sql,args);

System.out.println(update);

}

2、删除

@Override

public void deleteBook(String id) {

String sql = “delete from t_book where userid=?”;

int update = jdbcTemplate.update(sql,id);

System.out.println(update);

}

JdbcTemplate操作数据库(查询返回某个值)


1、查询表里面有多条记录,返回某个值

2、查询JdbcTemplate实现查询返回某个值代码

有两个参数

第一个参数:sql语句

第二个参数:返回类型Class

@Override

public int selectCount() {

String sql = “select count(*) from t_book”;

Integer count = jdbcTemplate.queryForObject(sql,Integer.class);

return count;

}

JdbcTemplate操作数据库(查询返回对象)


1、场景:查询图书详情

2、JdbcTemplate实现查询返回对象

有三个参数

第一个参数:sql语句

第二个参数:RowMapper,是接口,返回不同类型数据,使用这个接口里面实现类完成数据封装

第三个参数:sql语句值

@Override

public Book findBookInfo(int id) {

String sql = “select * from t_book where userid=?”;

Book book = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper(Book.class),id);

return book;

}

JdbcTemplate操作数据库(查询返回集合)


1、场景:查询图书列表分页

2、调用JdbcTemplate方法实现查询返回集合

有三个参数

第一个参数:sql语句

第二个参数:RowMapper是接口,针对返回不同类型数据,使用这个接口实现类完成数据封装

第三个参数:sql语句值

// 查询返回集合

@Override

public List findAllBook() {

String sql = “select * from t_book”;

//调用方法

List bookList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(Book.class));

return bookList;

}

JdbcTemplate操作数据库(批量操作)


1、批量操作:操作表里面多条记录

2、JdbcTemplate实现批量添加操作

batchUpdate

有两个参数

第一个参数:sql语句

第二个参数:List集合。添加多条记录数据

3、JdbcTemplate实现批量修改操作

@Override

public void batchUpdateBook(List<Object[]> batchArgs) {

String sql = “update t_book set username=?,ustatus=? where userid=?”;

int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);

System.out.println(Arrays.toString(ints));

}

4、JdbcTemplate实现批量删除操作

@Override

public void batchDeleteBook(List<Object[]> batchArgs) {

String sql = “delete from t_book where userid = ?”;

int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

独家面经总结,超级精彩

本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!

image

image

image

image

Java面试准备

准确的说这里又分为两部分:

  1. Java刷题
  2. 算法刷题

Java刷题:此份文档详细记录了千道面试题与详解;

image

image

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
享给大家!

[外链图片转存中…(img-jZOkSjEQ-1713684667485)]

[外链图片转存中…(img-HSpkrXaJ-1713684667485)]

[外链图片转存中…(img-7VmUmZx1-1713684667485)]

[外链图片转存中…(img-H34TuMBN-1713684667485)]

Java面试准备

准确的说这里又分为两部分:

  1. Java刷题
  2. 算法刷题

Java刷题:此份文档详细记录了千道面试题与详解;

[外链图片转存中…(img-Af4VCnrv-1713684667485)]

[外链图片转存中…(img-jFXGKQQT-1713684667486)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值