三、 Spring JDBC(了解)

Spring框架提供 对jdbc的进行了封装,可以操作 JdbcTemplate模板完成crud操作,JdbcTemplate 有点像 apache 提供的 dbutils

1. 开发步骤:

  • 添加 spring-jdbc 的包,配置pom文件中依赖spring-jdbc

    4.0.0
    com.xingxue.spring
    spring-jdbcttemplete
    0.0.1-SNAPSHOT
    
        
            org.springframework
            spring-context
            4.0.4.RELEASE
        
        
            org.springframework
            spring-aop
            4.0.4.RELEASE
        
        
            org.springframework
            spring-aspects
            4.0.4.RELEASE
        
        
            org.springframework
            spring-jdbc
            4.0.4.RELEASE
        
        
            com.alibaba
            druid
            1.1.6
        
        
            mysql
            mysql-connector-java
            5.1.44
            runtime
        
    

  • 添加数据源
 
            com.alibaba
            druid
            1.1.6
 
  • 创建jdbcTemplate 模板实例,就可以快乐的玩,一般该模板通过ioc 容器帮助完成创建的工程

  • 配置 beans.xml 文件


    




    





    
    
    
    

2.实现

public class UserDao {
    
    
    private JdbcTemplate template;
    
    public void add(User entity){
        //ctrl + shift + x (y)
        String sql = "INSERT INTO TBL_USER (NAME,BIRTH)VALUES(?,?)";
        template.update(sql, entity.getName(),entity.getBirth());
    }
    
    public void delete(Serializable id){
        
        String sql = "DELETE FROM TBL_USER WHERE ID = ?";
        
        template.update(sql, id);
        
    }
    public void update(User entity){
        
        String sql = "UPDATE TBL_USER SET NAME = ?,BIRTH = ? WHERE ID = ?";
        template.update(sql, entity.getName(),entity.getBirth(),entity.getId());
    }
    
    public User getById(Serializable id){
        
        String sql = "SELECT ID,NAME,BIRTH FROM TBL_USER WHERE ID = ?";
        
        return template.queryForObject(sql, new BeanPropertyRowMapper(User.class), id);
    }
    
    public List getAll() {
        
        String sql = "SELECT ID,NAME,BIRTH FROM TBL_USER ";
        
        
        return template.query(sql, new BeanPropertyRowMapper(User.class));
    }

    public void setTemplate(JdbcTemplate template) {
        this.template = template;
    }
}

2. Spring 提供的声明式事务管理

2.1 事务管理方式

  • 编码式事务管理
1.connection.setTranscation(false);
2.connection.beginTransction();

3.try   {
 操作的业务代码
}catch(exception e ) {
 rollback();
}
4.connection.commit();
  • 声明式事务管理:通过配置spring aop来完成事务的管理


    




    
        
        
        
        
        
    





    
    
    







    




    




    





    
    
    
    




    








3.Struts2、Mybatis、Spring 整合

Spring 框架整合应用程序每层的组件(统一 Spring 进行 管理) 核心,Spring 框架提供了相应的整合方案

3.1 Spring 整合 Struts2

  • 配置依赖 pom 文件
    
        
        
            org.apache.struts
            struts2-core
            2.3.33
        
        
        
        
            org.apache.struts
            struts2-spring-plugin
            2.3.33
        

        

        
        
            org.springframework
            spring-context
            4.0.4.RELEASE
        
        
            org.springframework
            spring-aop
            4.0.4.RELEASE
        
        
            org.springframework
            spring-aspects
            4.0.4.RELEASE
        
        
            org.springframework
            spring-jdbc
            4.0.4.RELEASE
        
        
        
            org.springframework
            spring-web
            4.0.4.RELEASE
        
        
    
  • 编写 Spring 配置文件 (applicationContext.xml) 、 Struts2 的配置文件
    • applicationContext.xml






  • struts.xml




    
        
        
            
                /ok.jsp
            
        
    

  • 配置 web.xml 文件


                
    
        struts2
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    
    
        contextConfigLocation
        classpath:applicationContext.xml
    

    
        org.springframework.web.context.ContextLoaderListener
                   
                        
                         

3.2 Spring 整合 Mybatis

  • 配置依赖 pom 文件
    
        
            org.mybatis
            mybatis
            3.2.3
        
        
            cglib
            cglib
            2.2.2
        
        
        
            org.mybatis
            mybatis-spring
            1.3.1
        
        
  • 编写 Spring 配置文件 (applicationContext.xml)、SqlMapConfig.xml
    • applicationContext.xml
  








    
    



    
    
    
    







    






4. Struts2、Spring、Hiberante 整合

4.1 Spring 整合 Hibernate

  • 配置 Spring 相关的依赖以及 Hiberante 的依赖 (POM 文件)
 
        
            org.hibernate
            hibernate-core
            4.3.5.Final
        
        
        
            org.springframework
            spring-context
            4.0.4.RELEASE
        
        
            org.springframework
            spring-aop
            4.0.4.RELEASE
        
        
            org.springframework
            spring-aspects
            4.0.4.RELEASE
        
        
            org.springframework
            spring-jdbc
            4.0.4.RELEASE
        
        
        
            org.springframework
            spring-orm
            4.0.4.RELEASE
        

        
        
            commons-dbcp
            commons-dbcp
            1.4
        

        
            com.oracle
            ojdbc14
            10.2.0
        
    
  • Spring 整合的 配置文件



    

    


    
        org.hibernate.dialect.Oracle10gDialect
        true
        true
    

    
    



    
    

    
    

    
    

4.1 Spring 整合 Struts2

  • Struts2 相关的依赖 pom 文件

    4.0.0
    com.xingxue.s2sh
    s2sh
    war
    1.0-SNAPSHOT

    
        
            org.hibernate
            hibernate-core
            4.3.5.Final
        
        
        
            org.springframework
            spring-context
            4.0.4.RELEASE
        
        
            org.springframework
            spring-aop
            4.0.4.RELEASE
        
        
            org.springframework
            spring-aspects
            4.0.4.RELEASE
        
        
            org.springframework
            spring-jdbc
            4.0.4.RELEASE
        
        
        
            org.springframework
            spring-orm
            4.0.4.RELEASE
        

        
        
            org.springframework
            spring-web
            4.0.4.RELEASE
        


        
        
            org.apache.struts
            struts2-core
            2.5.14.1
        

        
        
            org.apache.struts
            struts2-spring-plugin
            2.5.14.1
        

        
        
            commons-dbcp
            commons-dbcp
            1.4
        

        
            com.oracle
            ojdbc14
            10.2.0
        

        
        
            javax.servlet
            javax.servlet-api
            3.0.1
        
        
        
            javax.servlet.jsp
            javax.servlet.jsp-api
            2.2.1
        


    

    
        
            
                src/main/java
                
                    **/*.xml
                
                false
            
        
    


  • Spring 的配置文件



    

    


    
        org.hibernate.dialect.Oracle10gDialect
        true
        true
    

    
    



    
    

    
    

    
    




  • web.xml 配置文件



    
        struts2
        org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    
    
        struts2
        *.action
    


    
        contextConfigLocation
        classpath:spring/applicationContext.xml
    

    
    
        org.springframework.web.context.ContextLoaderListener
    



  • struts.xml 配置文件



   
       
       
           
               /WEB-INF/views/ok.jsp
           
       
   

5. Struts2、Spring、JPA(Hibernate) 整合

  • pom 文件:在以上的整合中导入
  
    
      org.hibernate
      hibernate-entitymanager
      4.3.5.Final
    
  • Spring 配置文件



    

    


    
        org.hibernate.dialect.Oracle10gDialect
        true
        true
    

    
    

    
    
    


    
    

    
    
    
    

你可能感兴趣的:(三、 Spring JDBC(了解))