SpringJdbcTemplate 操作数据库

本文介绍了如何使用SpringJdbcTemplate进行数据库的增删查改操作。首先,讲解了如何创建实体类和服务、DAO,利用JdbcTemplate的update方法进行添加操作。接着,展示了修改和删除的示例。在查询部分,详细说明了queryForObject方法用于查询单个值,query方法配合RowMapper用于查询返回对象和集合的用法。
摘要由CSDN通过智能技术生成

目录

1.添加

2.修改和删除

3.查询


1.添加

1、对应数据库创建实体类

2、编写 service 和 dao (1)在 dao 进行数据库添加操作 (2)调用 JdbcTemplate 对象里面 update 方法实现添加操作 。

update方法有两个参数 第一个参数:sql 语句 第二个参数:可变参数,设置 sql 语句值。

例:

@Repository
public class BookDaoImpl implements BookDao {
 //注入 JdbcTemplate
 @Autowired
 private JdbcTemplate jdbcTemplate;
 //添加的方法
 @Override
 public void add(Book book) {
 //1 创建 sql 语句
 String sql = "insert into t_book values(?,?,?)";
 //2 调用方法实现
 Object[] args = {book.getUserId(), book.getUsername(), 
book.getUstatus()};
 int update = jdbcTemplate.update(sql,args);
 System.out.println(update);
 }
}


@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);
}

2.修改和删除

例:修改

@Override
public void updateBook(Book book) {
 String sql = "update t_book set username=?,ustatus=? where user_id=?";
 Object[] args = {book.getUsername(), book.getUstatus(),book.getUserId()};
 int update = jdbcTemplate.update(sql, args);
 System.out.println(update);
}

例:删除

@Override
public void delete(String id) {
 String sql = "delete from t_book where user_id=?";
 int update = jdbcTemplate.update(sql, id);
 System.out.println(update);
}

3.查询

①查询返回某个值

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

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

 queryForObject方法有两个参数  第一个参数:sql 语句  第二个参数:返回类型 Class

例:

@Override
public int selectCount() {
 String sql = "select count(*) from t_book";
 Integer count = jdbcTemplate.queryForObject(sql, Integer.class);
 return count;
}

②查询返回对象

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

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

query方法有三个参数  第一个参数:sql 语句  第二个参数:RowMapper 是接口,针对返回不同类型数据,使用这个接口里面实现类完成 数据封装  第三个参数:sql 语句值

例:

@Override
public Book findBookInfo(String id) {
 String sql = "select * from t_book where user_id=?";
 //调用方法
 Book book = jdbcTemplate.queryForObject(sql, new 
BeanPropertyRowMapper<Book>(Book.class), id);
 return book;
}

③查询返回集合

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

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

query方法 有三个参数  第一个参数:sql 语句  第二个参数:RowMapper 是接口,针对返回不同类型数据,使用这个接口里面实现类完成 数据封装  第三个参数:sql 语句值

例:

@Override
public List<Book> findAllBook() {
 String sql = "select * from t_book";
 //调用方法
 List<Book> bookList = jdbcTemplate.query(sql, new 
BeanPropertyRowMapper<Book>(Book.class));
 return bookList;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值