zoukankan      html  css  js  c++  java
  • springboot-6-整合jdbc

    如果有整合jpa了, 那么在dao中直接, 不需要引入依赖

    @Resource
    private JdbcTempalte jdbcTempalte;

    如果没有的话, 就先在pom.xml中加入依赖

    <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>

    编写dao声明为repository

    package com.iwhere.test.dao;
    
    import javax.annotation.Resource;
    
    import org.springframework.jdbc.core.BeanPropertyRowMapper;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.stereotype.Repository;
    
    import com.iwhere.test.demo.Demo;
    
    /**
     * 使用jdbcTemplate操作数据库
     * @author 231
     * 
     */
    @Repository
    public class JdbcDao {
    
        @Resource
        private JdbcTemplate jdbcTemplate;
        
        /**
         * 通过id获取对象
         * @return
         */
        public Demo getById(Integer id) {
            String sql = "select id, name, sex from demo where id = ?";
            BeanPropertyRowMapper<Demo> mapper = new BeanPropertyRowMapper<Demo>(Demo.class);
            return jdbcTemplate.queryForObject(sql, mapper, id);
        }
        
    }

    之后即可在service和controller层进行调用了

    更多操作方式

    public List<AreaDto> getAreaDtos() {
            String sql = "select * from t_area ";
            return (List<AreaDto>) template.query(sql, new BeanPropertyRowMapper(AreaDto.class));
        }
     
        public List<AreaDto> getAreaDtos1() {
            String sql = "select * from t_area ";
            return (List<AreaDto>) template.query(sql, new AreaRowMapper());
        }
     
        public Map<String, Object> getBuilds() {
            String sql = "select buildid,buildname from t_building ";
            List<BuildingDto> list = this.template.query(sql, new BeanPropertyRowMapper(BuildingDto.class));
            Map<String, Object> map = new HashMap<String, Object>();
            for (BuildingDto build : list) {
                map.put(String.valueOf(build.getBuildid()), build.getBuildname());
            }
            return map;
        }
     
        public Map<String, Object> getFloors(String build) {
            String sql = "select floorid ,floorname from t_floor where build_id=?";
            List<FloorDto> list = this.template.query(sql, new Object[] { build }, new BeanPropertyRowMapper(FloorDto.class));
            Map<String, Object> map = new LinkedHashMap<String, Object>();
            for (FloorDto floorDto : list) {
                System.out.println(floorDto.getFloorid());
                map.put(String.valueOf(floorDto.getFloorid()), floorDto.getFloorname());
            }
            return map;
        }
     
        public Map<String, Object> getAreas(String build, String floor) {
            String sql = "select areaid ,area_name from t_area where build_id=? and floor_id=?";
            List<AreaDto> list = this.template.query(sql, new Object[] { build, floor }, new BeanPropertyRowMapper(AreaDto.class));
            Map<String, Object> map = new LinkedHashMap<String, Object>();
            for (AreaDto areaDto : list) {
                System.out.println(areaDto.getAreaid());
                map.put(String.valueOf(areaDto.getAreaid()), areaDto.getArea_name());
            }
            return map;
        }
     
        public List<StoreDto> getStoreDtos(int buildid, int floorid, int areaid) {
            String sql = "select * from t_store where build_id=? and floor_id=? and area_id=?";
            return (List<StoreDto>) template.query(sql, new Object[] { buildid, floorid, areaid }, new BeanPropertyRowMapper(
                    StoreDto.class));
        }
     
        public List<BuildingDto> getBuildingDto() {
            String sql = "select * from t_building ";
            return (List<BuildingDto>) template.query(sql, new BeanPropertyRowMapper(BuildingDto.class));
        }
     
        public List<FloorDto> getFloorDtos(int buildid) {
            String sql = "select * from t_floor where build_id=? ";
            return (List<FloorDto>) template.query(sql, new Object[] { buildid }, new BeanPropertyRowMapper(FloorDto.class));
        }
     
        public List<AreaDto> getAreaDto(int buildid, int floorid) {
            String sql = "select * from t_area where build_id=? and floor_id=?";
            return (List<AreaDto>) template.query(sql, new Object[] { buildid, floorid }, new BeanPropertyRowMapper(AreaDto.class));
        }
     
        public AreaDto getAreaDto(int id) {
            String sql = "select * from t_area where areaid=?";
            return template.queryForObject(sql, new Object[] { id }, new BeanPropertyRowMapper(AreaDto.class));
        }
     
        public BuildingDto getBuildingDto(int buildId) {
            String sql = "select * from t_building where buildid=?";
            return template.queryForObject(sql, new Object[] { buildId }, new BeanPropertyRowMapper(BuildingDto.class));
        }
     
        public FloorDto getFloorDto(int floorId) {
            String sql = "select * from t_floor where floorid=?";
            return template.queryForObject(sql, new Object[] { floorId }, new BeanPropertyRowMapper(FloorDto.class));
        }
     
        public List<StoreDto> getAllStores() {
            String sql = "select * from t_store ";
            return (List<StoreDto>) template.query(sql, new BeanPropertyRowMapper(StoreDto.class));
        }
     
        public String storeName(int storeId) {
            String sql = "select storename from t_store where id=?";
            return template.queryForObject(sql, new Object[] { storeId }, String.class);
        }
     
        public StoreDto getStoreById(int storeInt) {
            String sql = "select * from t_store where id=?";
            return template.queryForObject(sql, new Object[] { storeInt }, new BeanPropertyRowMapper(StoreDto.class));
        }
     
        public int getCountStore() {
            String sql = "select count(id) from t_store";
            return this.template.queryForInt(sql);
        }
     
        public void saveBuild(BuildingDto buildingDto) {
        }
     
        public void deleteBuildById(int buildid) {
            String sql = "delete from t_store where id=?";
            this.template.update(sql, buildid);
        }
     
        public void updateBuildById(BuildingDto buildingDto) {
     
        }
    }
     
    class AreaRowMapper implements RowMapper {
        public Object mapRow(ResultSet rs, int index) throws SQLException {
            AreaDto areaDto = new AreaDto();
            areaDto.setAreaid(rs.getInt("areaid"));
            areaDto.setArea_name(rs.getString("area_name"));
            areaDto.setArea_detail(rs.getString("area_detail"));
            areaDto.setBuild_id(rs.getInt("build_id"));
            areaDto.setFloor_id(rs.getInt("floor_id"));
            areaDto.setInsert_time(rs.getTimestamp("insert_time"));
            areaDto.setOperate_id(rs.getInt("operate_id"));
            areaDto.setUpdate_time(rs.getTimestamp("update_time"));
            areaDto.setRegion_name(rs.getString("region_name"));
            areaDto.setSortno(rs.getString("sortno"));
            return areaDto;
        }
  • 相关阅读:
    vue 监听变量或对象
    同行span标签设置display:inline-block;overflow:hidden垂直对齐问题
    vue style 的scoped 使用
    判断两个对象是否相等
    js call 和 apply方法记录
    接口联调遇到的坑 总结
    onclick或者其他事件在部分移动端无效的问题
    js 迭代方法
    原生js实现类的添加和删除,以及对数据的add和update、view ,ajax请求 ,页面离开的操作,获取url中参数等方法
    input 的radio checkbox 和 select 相关操作
  • 原文地址:https://www.cnblogs.com/wenbronk/p/6548185.html
Copyright © 2011-2022 走看看