美文网首页
Spring 中jdbcTemplate用法

Spring 中jdbcTemplate用法

作者: 好大一只鹏 | 来源:发表于2018-02-05 16:33 被阅读0次

    方法一:
    appplication-context文件配置

     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
            <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
            <property name="url"  
                value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8" />  
            <property name="username" value="root" />  
            <property name="password" value="root123456" />  
        </bean>  
        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
            <property name="dataSource" ref="dataSource"></property>  
        </bean>  
         //将jdbcTemplate属性注入
        <bean id="jdbcTemplateDao" class="examples.jdbc.jdbcTemplateDao">  
            <property name="jdbcTemplate" ref="jdbcTemplate" />  
        </bean>  
    </beans> 
    

    模型层省略(一个user)。。。
    dao层;

     private JdbcTemplate jdbcTemplate;  
        public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {  
            this.jdbcTemplate = jdbcTemplate;  
        }  
    }  
    public void createTable(){
            
            jdbcTemplate.execute("create table user_table(id integer,firstName varchar(200),lastname varchar(200))");
        }
        
        public void updata(){
            jdbcTemplate.update("insert into user_table value(1,?,?)","meimei","han");
            jdbcTemplate.update("insert into user_table value(2,?,?)","daha","fu");
        }
        public int count(){
            return jdbcTemplate.queryForObject("select count(*) from user_table", Integer.class);
        }
        
        public List<User> getUserList(){
            //RowMapper 用来封装数据库中的数据封装成用户定义的类
            
            String sql="select * from user_table";
            
            return this.jdbcTemplate.query(sql, new RowMapper<User>(){
    
                public User mapRow(ResultSet rs, int rowNum) throws SQLException {
                    User user=new User();
                    user.setId(rs.getInt("id"));
                    user.setFirstName(rs.getString("firstName"));
                    user.setLasrName(rs.getString("lastNmae"));
                    return user;    
                }
            }
                    );
        }
    

    方法二:

    dataSource配置不变
    //因为我们在dao层使用setter方法注入dataSource
    <bean id="jdbcTemplateDao" class="examples.jdbc.jdbcTemplateDao">  
           <property name="dataSource" ref="dataSource"/>  
    </bean>  
    
     private JdbcTemplate jdbcTemplate;  
              
            //注入方法2  
            public void setDataSource(DataSource dataSource) {  
                         //此时我们直接new了一个jdbcTemplate实例所以不用配置bean
                       this.jdbcTemplate = new JdbcTemplate(dataSource);  
            }  
    

    控制层:

    ApplicationContext context=new ClassPathXmlApplicationContext("application-context.xml");
            
            JdbcTemplateDao test=context.getBean("jdbcTemplate",JdbcTemplateDao.class);
            test.createTable();
            
            List<User> userList=test.getUserList();
            
            for(User u: userList){
                System.out.println(u.getId()+":"+u.getFirstName()+":"+u.getLasrName());
            }
            ((ConfigurableApplicationContext)context).close();
    

    相关文章

      网友评论

          本文标题:Spring 中jdbcTemplate用法

          本文链接:https://www.haomeiwen.com/subject/tskizxtx.html