高端手机网站 制作公司,网站建设技术概述,上海网站开发售后服务,dw做的网站能搜到吗JdbcTemplate#xff08;操作数据库-查询返回对象、查询返回集合#xff09; 1.创建数据库
数据库中有三条记录#xff0c;数据库名为user_db#xff0c;数据库表为t_book 2.新建实体类#xff1a;
Book类中的每一个属性对应数据库中的一条记录
package org.example.sp…
JdbcTemplate操作数据库-查询返回对象、查询返回集合 1.创建数据库
数据库中有三条记录数据库名为user_db数据库表为t_book 2.新建实体类
Book类中的每一个属性对应数据库中的一条记录
package org.example.spring.entity;public class Book {private int userId;private String username;Overridepublic String toString() {return Book{ userId userId , username username \ };}public int getUserId() {return userId;}public void setUserId(int userId) {this.userId userId;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}}3.创建dao层
抽象类
package org.example.spring.dao;import org.example.spring.entity.Book;public interface BookDao {//查询对象的方法Book findBookInfo(int id);//查询集合的方法ListBook findAllBook();
}实现类
package org.example.spring.dao;import org.example.spring.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;Repository
public class BookDaoImpl implements BookDao{//注入jdbcTemplate对象Autowiredprivate JdbcTemplate jdbcTemplate;//查询对象Overridepublic Book findBookInfo(int id) {String sqlselect * from t_book where user_id?;//queryForObject()有三个参数
// 第一个参数sql语句
// 第二个参数 RowMapper(这是spring中封装好的一个接口针对返回不同类型数据使用这个接口里面的实现类完成数据的【封装】)
// 第三个参数 sql语句值Book book jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapperBook(Book.class), id);return book;}//查询集合Overridepublic ListBook findAllBook() {String sqlselect * from t_book;//query()有三个参数
// 第一个参数sql语句
// 第二个参数 RowMapper(这是spring中封装好的一个接口针对返回不同类型数据使用这个接口里面的实现类完成数据的【封装】)
// 第三个参数 sql语句值ListBook query jdbcTemplate.query(sql, new BeanPropertyRowMapperBook(Book.class));return query;}
}4.创建service类
package org.example.spring.service;import org.example.spring.dao.BookDao;
import org.example.spring.entity.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;Service
public class BookService {//注入daoAutowiredprivate BookDao bookDao;//查询返回对象根据id查询public Book findOne(int id){return bookDao.findBookInfo(id);}}5.xml配置
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:aophttp://www.springframework.org/schema/aopxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd!-- 开启组件扫描--context:component-scan base-packageorg.example/context:component-scan
!--数据库连接池--bean iddataSource classcom.alibaba.druid.pool.DruidDataSource destroy-methodcloseproperty nameurl valuejdbc:mysql://localhost:3306/user_db?useSSLfalseamp;useUnicodetrueamp;characterEncodingUTF-8/property nameusername valueroot/property namepassword valuesise/property namedriverClassName valuecom.mysql.jdbc.Driver//bean!-- 创建jdbcTemplate对象--bean idjdbcTemplate classorg.springframework.jdbc.core.JdbcTemplate
!--需要注入数据源信息--property namedataSource refdataSource/property/bean
/beans 6. 测试类
package org.example.spring.test;import org.example.spring.entity.Book;
import org.example.spring.service.BookService;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestBook
{Testpublic void test01(){ApplicationContext contextnew ClassPathXmlApplicationContext(bean1.xml);BookService bookService context.getBean(bookService, BookService.class);//查询返回对象Book one bookService.findOne(2);System.out.println(one);//查询返回集合ListBook all bookService.findAll();System.out.println(all);}}7.测试结果
返回对象 返回集合