zoukankan      html  css  js  c++  java
  • spring_150906_sqlmapclientdaosupport_getSqlMapClientTemplate

    添加到ibatis相关jar包!

    实体类:

    package com.spring.model;
    
    public class DogPet {
        
        private int id;
        private String name;
        private int age;
        private String kind;
        private String sex;
        private String health;
        
    
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getKind() {
            return kind;
        }
        public void setKind(String kind) {
            this.kind = kind;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public String getHealth() {
            return health;
        }
        public void setHealth(String health) {
            this.health = health;
        }
        
        public String toString()
        {
            return id+"--"+name+"--"+kind+"--"+age+"--"+health;
        }
    }

    接口Service:

    package com.spring.service;
    
    public interface DogPetService {
        public void queryAllDogPets();
    }

    实现类ServiceImpl:

    package com.spring.service.impl;
    
    import java.util.List;
    
    import javax.annotation.Resource;
    
    import org.springframework.stereotype.Controller;
    
    import com.spring.service.DogPetService;
    import com.spring.dao.DogPetDAO;
    import com.spring.model.DogPet;
    
    @Controller(value="DogPetService")
    public class DogPetServiceImpl implements DogPetService{
        private DogPetDAO dogPetDAO;
    
        public DogPetDAO getDogPetDAO() {
            return dogPetDAO;
        }
        
        @Resource(name="dogPetDAO")
        public void setDogPetDAO(DogPetDAO dogPetDAO) {
            this.dogPetDAO = dogPetDAO;
        }
    
        @Override
        public void queryAllDogPets() {
            List<DogPet> list = dogPetDAO.queryAllDogPets();
            if(list != null)
            {
                for(DogPet d:list)
                {
                    System.out.println(d.toString());
                }
            }
        }
        
        
    }

    Service调用的DAO:

    package com.spring.dao;
    
    import java.util.List;
    
    import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
    
    import com.spring.model.DogPet;
    
    public class DogPetDAO extends SqlMapClientDaoSupport 
    {
        
        public List<DogPet> queryAllDogPets()
        {
            List<DogPet> list = null;
            try 
            {
                list = getSqlMapClientTemplate().queryForList("c_queryDog");
            }
            catch (Exception e) 
            {
                e.printStackTrace();
            }
            return list;
        }
    
    }

    配置文件beans.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"
            xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
            xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
            xsi:schemaLocation="
                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
        <context:annotation-config/>
        
        <context:component-scan base-package="com.spring"></context:component-scan>
        
    </beans>            

    配置文件dao.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" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="
                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
                http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    
        <!-- 利用annotation配置声明式事物管理  begin-->
        <bean
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="locations">
                <value>classpath:jdbc.properties</value>
            </property>
        </bean>
    
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">
            <property name="driverClassName" value="${driver}" />
            <property name="url" value="${url}" />
            <property name="username" value="${user}" />
            <property name="password" value="${password}" />
        </bean>
        
        <!--<bean id="sessionFactory"
            class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            <property name="dataSource" ref="dataSource" />
            <property name="annotatedClasses">
                <list>
                    <value>com.spring.model.DogPet</value>
                </list>
            </property>
            <property name="hibernateProperties">
                <value>
                    hibernate.dialect=org.hibernate.dialect.MySQLDialect
              </value>
            </property>
        </bean>
    
        <bean id="txManager"
            class="org.springframework.orm.hibernate3.HibernateTransactionManager">
            <property name="sessionFactory" ref="sessionFactory" />
        </bean>
        
        
        
        -->
        
        
        <!--<tx:advice id="txAdvice" transaction-manager="txManager">
            <tx:attributes>
                <tx:method name="query*" read-only="true" />
                <tx:method name="*" />
            </tx:attributes>
        </tx:advice>
    
        <aop:config>
            <aop:pointcut id="dogPetServiceOperation"
                expression="execution(* com.spring..*(..))" />
            <aop:advisor advice-ref="txAdvice" pointcut-ref="dogPetServiceOperation" />
        </aop:config>
    
        -->
        
        <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
            <property name="configLocation" >
                <value>classpath:sqlMapConfig.xml</value>
            </property>
            <property name="dataSource" ref="dataSource"/>
        </bean>
        
        
        <!--<tx:annotation-driven transaction-manager="txManager"/>
        
        --><!-- 利用annotation配置声明式事物管理  end-->
        
        <!-- 
        1、继承HibernateDaoSupport类,第一种数据库访问方式
        
         设置HibernateDaoSupport抽象类  
        <bean id="hibernateDaoSupport"  
            class="org.springframework.orm.hibernate3.support.HibernateDaoSupport"  
            abstract="true">  
            <property name="sessionFactory" ref="sessionFactory" />  
        </bean>  
    
         dao的操作的bean   
        <bean id="dogPetDAO" class="com.spring.dao.DogPetDAO" parent="hibernateDaoSupport" /> 
    
        2、继承HibernateDaoSupport类,第二种数据库访问方式
        <bean id="dogPetDAO" class="com.spring.dao.DogPetDAO" >
            <property name="sessionFactory" ref="sessionFactory"></property>
        </bean>
        
        -->
        
        <!--
        <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">  
            <property name="sessionFactory" ref="sessionFactory" />  
        </bean>  
        
        -->
        <bean id="dogPetDAO" class="com.spring.dao.DogPetDAO">
            <property name="sqlMapClient" ref="sqlMapClient"/>
        </bean>
    
        
      
    </beans>            

    配置文件sqlMapConfig.xml:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE sqlMapConfig
    PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
    <sqlMapConfig>
        <!--<settings cacheModelsEnabled="true" enhancementEnabled="true"
            lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"
            maxSessions="10" maxTransactions="5" useStatementNamespaces="false" />
        --><!--<transactionManager type="JDBC">
            <dataSource type="SIMPLE">
                <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver" />
                <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:xe" />
                <property name="JDBC.Username" value="icdwf" />
                <property name="JDBC.Password" value="icdwf" />
                <property name="Pool.MaximumActiveConnections" value="10" />
                <property name="Pool.MaximumIdleConnections" value="5" />
                <property name="Pool.MaximumCheckoutTime" value="120000" />
                <property name="Pool.TimeToWait" value="500" />
                <property name="Pool.PingQuery" value="select 1 from ACCOUNT" />
                <property name="Pool.PingEnabled" value="false" />
                <property name="Pool.PingConnectionsOlderThan" value="1" />
                <property name="Pool.PingConnectionsNotUsedFor" value="1" />
            </dataSource>
        </transactionManager>
        -->
        <sqlMap resource="dogPet.xml" />
    </sqlMapConfig>

    映射文件dogPet.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sqlMap
    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-2.dtd">
    <sqlMap namespace="Dog">
        <typeAlias alias="dog" type="com.spring.model.DogPet" />
        <select id="c_queryDog" resultClass="dog">
            <![CDATA[
                select *
                from t_dog
            ]]>            
        </select>
        <delete id="c_deleteDog" parameterClass="dog">
            <![CDATA[
                delete t_dog
                where name=#name#
                  and id = #id#
            ]]>            
        </delete>
        <delete id="c_updateDog" parameterClass="dog">
            <![CDATA[
                update t_dog
                  set name=#name#
                where id = #id#
            ]]>            
        </delete>
        <select id="c_queryDogById" parameterClass="dog"
                resultClass="dog">
            <![CDATA[
                select *
                from t_dog
                where name=#name#
                  and id = #id#
            ]]>            
        </select>
        <!--<insert id="c_insertDog" parameterClass="dog">
            INSERT INTO t_dog (
                                id,
                                name,
                                password,
                                userlevel,
                                registtime,
                                extend1,
                                extend2,
                                extend3)
            VALUES (
                        #id#,
                        #name#,
                        #password#,
                        #userLevel#,
                        #registTime#,
                        #extend1#,
                        #extend2#,
                        #extend3#
                        )
        </insert>
        
    --></sqlMap>

    test类:

    package com.spring.test;
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.spring.service.DogPetService;
    
    public class ServiceTest {
        
        @Test
        public void queryAllDogPets()
        {
            ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"beans.xml","dao.xml"});
            DogPetService dogPetService = (DogPetService)ctx.getBean("DogPetService");
            dogPetService.queryAllDogPets();
        }
    
    }
  • 相关阅读:
    JQuery性能优化
    分页控件X.PagedList.Mvc
    《转》sql 、linq、lambda 查询语句的区别
    Linq的连表查询
    MVC页面直接F5出错
    详解集合
    Json的序列化与反序列化
    《转》dbcontext函数
    《转》jquery中的$.ajax的success与error
    cocos creator基础-(二十七)httpclient Get POST
  • 原文地址:https://www.cnblogs.com/yanff/p/4792304.html
Copyright © 2011-2022 走看看