zoukankan      html  css  js  c++  java
  • spring使用JdbcDaoSupport中封装的JdbcTemplate进行query

    1.Dept

    package cn.hxex.springcore.jdbc;
    
    public class Dept {
    
        private Integer deptNo;
        private String dName;
        private String loc;
        
        public Integer getDeptNo() {
            return deptNo;
        }
        public void setDeptNo(Integer deptNo) {
            this.deptNo = deptNo;
        }
        public String getDName() {
            return dName;
        }
        public void setDName(String name) {
            dName = name;
        }
        public String getLoc() {
            return loc;
        }
        public void setLoc(String loc) {
            this.loc = loc;
        }
        
        public String toString() {
            StringBuffer buf = new StringBuffer();
            
            buf.append( "deptNo:	" ).append( getDeptNo() ).append( "	" );
            buf.append( "dName:	" ).append( getDName() ).append( "	" );
            buf.append( "loc:	" ).append( getLoc() ).append( "	" );
            
            return buf.toString();
        }
    }

    2.IDeptDao

    package cn.hxex.springcore.jdbc;
    
    import java.util.List;
    
    public interface IDeptDao {
    
        public List getDepts();
        
        public List getDeptsByNo(int deptno);
    }

    3.DeptDao

    package cn.hxex.springcore.jdbc;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.List;
    
    import org.springframework.jdbc.core.PreparedStatementCreator;
    import org.springframework.jdbc.core.RowMapper;
    import org.springframework.jdbc.core.support.JdbcDaoSupport;
    
    public class DeptDao extends JdbcDaoSupport implements IDeptDao {
    
        public List getDepts() {
            String sql = "SELECT deptno, dname, loc FROM dept";
            
            return super.getJdbcTemplate().query( sql, new DeptRowMapper() );
        }
        
        public List getDeptsByNo(final int deptno){
            final String sql = "SELECT deptno, dname, loc FROM dept where deptno=?";
            
            return super.getJdbcTemplate().query(new PreparedStatementCreator(){
    
                @Override
                public PreparedStatement createPreparedStatement(Connection connection)
                        throws SQLException {
                    PreparedStatement ps = connection.prepareStatement(sql);
                    ps.setInt(1, deptno);
                    return ps;
                }
                
                
            }, new RowMapper(){
    
                @Override
                public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
                    
                    Dept dept = new Dept();
                    dept.setDeptNo( new Integer( rs.getString(1) ) );
                    dept.setDName( rs.getString( 2 ) );
                    dept.setLoc( rs.getString( 3 ) );
                    return dept;
                }
                
            });
            
            
            
        }
        
        class DeptRowMapper implements RowMapper {
    
            public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
                Dept dept = new Dept();
                dept.setDeptNo( new Integer( rs.getString(1) ) );
                dept.setDName( rs.getString( 2 ) );
                dept.setLoc( rs.getString( 3 ) );
                return dept;
            }
            
        }
        
        
    }

    4.JdbcDaoSupportMain

    package cn.hxex.springcore.jdbc;
    
    import java.util.List;
    
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.beans.factory.xml.XmlBeanFactory;
    import org.springframework.core.io.ClassPathResource;
    
    public class JdbcDaoSupportMain {
    
        public static void main(String[] args) {
            
            ClassPathResource resource = new ClassPathResource("cn/hxex/springcore/jdbc/JdbcDaoSupportBeans.xml");
            BeanFactory factory = new XmlBeanFactory(resource);
    
            IDeptDao dao = (IDeptDao)factory.getBean( "deptDao" );
            //List depts = dao.getDepts();
            List depts = dao.getDeptsByNo(10);
            
            for( int i=0; i<depts.size(); i++ ) {
                System.out.println( depts.get( i ) );
            }
        }
    }

    5.JdbcDaoSupportBeans.xml部分

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    
        <!--  初始化数据源 -->
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
          <property name="driverClassName"><value>oracle.jdbc.driver.OracleDriver</value></property>
          <property name="url">
            <value>jdbc:oracle:thin:@localhost:1521:XE</value>
          </property>
          <property name="username"><value>jeffrey</value></property>
          <property name="password"><value>jeffrey</value></property>
        </bean>
        
        <bean id="deptDao" class="cn.hxex.springcore.jdbc.DeptDao">
            <property name="dataSource" ref="dataSource" />    
        </bean>
    </beans>

    备注:以上部分代码来自陈天河编著的某书


    你要坚强,坚强的足以认识自己的弱点;你要勇敢,勇敢的足以面对自己的恐惧;你要堂堂正正。在遇到挫折时能够昂首而不背躬屈膝;你要能够面对掌声,在胜利时能够谦逊而不趾高气扬。真正的伟大直率真诚,真正的贤人虚怀若谷,真正的强者温文尔雅。——萨利·布什(林肯的继母教育林肯)
  • 相关阅读:
    记录一些笔记~
    JS里的居民们7-对象和数组转换
    JS里的居民们6-数组排序
    JS里的居民们5-数组(栈)
    MySQL设置当前时间为默认值的方法
    session过期问题
    MyIsam和InnoDB的区别
    ajax请求 json格式和数组格式总结
    wamp 2.5 开放访问权限和设置虚拟域名
    checkbox属性checked="checked"通过js已设置,但是不勾选
  • 原文地址:https://www.cnblogs.com/jinhuazhe2013/p/4314471.html
Copyright © 2011-2022 走看看