jdbcTemplate操作數據庫(查詢)
一、查詢返回某個值
查詢表里面有多少條記錄,返回是某個值
queryForObject(String sql, Class<T> requiredType)
第一個參數:sql語句
第二個參數:返回類型Class
二、查詢返回對象
queryForObject(String sql, RowMapper rowMapper, Object... args)
第一個參數:sql語句
第二個參數:RowMapper,是接口,返回不同類型數據,使用這個接口里面實現類完成數據封裝
第三個參數:sql語句值
三、查詢返回集合
query(String sql, RowMapper<T> rowMapper, @Nullable Object... args)
第一個參數:sql
第二個參數:RowMapper,是接口,返回不同類型數據,使用這個接口里面實現類完成數據封裝
第三個參數:sql語句值
package com.orzjiangxiaoyu.spring.dao; import com.orzjiangxiaoyu.spring.entity.User; import java.util.List; /** * @author orz * @create 2020-08-18 9:36 */ public interface UserDao { public int findCount(); public User findUserInfo(int id); public List<User> findUserListInfo(); }
package com.orzjiangxiaoyu.spring.dao; import com.orzjiangxiaoyu.spring.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import java.util.Arrays; import java.util.List; /** * @author orz * @create 2020-08-18 9:37 */ @Repository public class UserDaoImpl implements UserDao { //注入JdbcTemplate @Autowired private JdbcTemplate jdbcTemplate; @Override public int findCount() { //1.創建sql語句 String sql = "select count(*) from t_user"; //2.調用方法實現 Integer count = jdbcTemplate.queryForObject(sql, Integer.class); return count; } @Override public User findUserInfo(int id) { //1.創建sql語句 String sql = "select * from t_user where user_id=?"; //2.調用方法實現 User user = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), id); return user; } @Override public List<User> findUserListInfo() { //1.創建sql語句 String sql = "select * from t_user "; //2.調用方法實現 List<User> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class)); return list; } }
package com.orzjiangxiaoyu.spring.service; import com.orzjiangxiaoyu.spring.dao.UserDao; import com.orzjiangxiaoyu.spring.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @author orz * @create 2020-08-18 9:36 */ @Service public class UserService { //注入dao @Autowired private UserDao userDao; //查詢表記錄數 public int selectCount() { int i=userDao.findCount(); return i; } //查詢返回對象 public User findUser(int id) { return userDao.findUserInfo(id); } //查詢返回集合 public List<User> findUserList() { return userDao.findUserListInfo(); } }
package com.orzjiangxiaoyu.spring.mysqltestdemo; import com.orzjiangxiaoyu.spring.entity.User; import com.orzjiangxiaoyu.spring.service.UserService; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.ArrayList; import java.util.List; /** * @author orz * @create 2020-08-18 10:20 */ public class Test2 { //查詢返回某個值 @Test public void test4() { ApplicationContext context=new ClassPathXmlApplicationContext("jdbcbean.xml"); UserService userService = context.getBean("userService", UserService.class); int i = userService.selectCount(); System.out.println(i); } //查詢返回對象 @Test public void test5() { ApplicationContext context=new ClassPathXmlApplicationContext("jdbcbean.xml"); UserService userService = context.getBean("userService", UserService.class); User user = userService.findUser(1); System.out.println(user); } //查詢返回集合 @Test public void test6() { ApplicationContext context=new ClassPathXmlApplicationContext("jdbcbean.xml"); UserService userService = context.getBean("userService", UserService.class); List<User> userList = userService.findUserList(); System.out.println(userList); } }