zoukankan      html  css  js  c++  java
  • spring_150905_sqlmapclient

    添加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.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());
                }
            }
        }
        
        
    }

    配置文件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();
        }
    
    }
  • 相关阅读:
    spring cloud 和 阿里微服务spring cloud Alibaba
    为WPF中的ContentControl设置背景色
    java RSA 解密
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
    Hystrix 配置参数全解析
    spring cloud 2020 gateway 报错503
    Spring Boot 配置 Quartz 定时任务
    Mybatis 整合 ehcache缓存
    Springboot 整合阿里数据库连接池 druid
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
  • 原文地址:https://www.cnblogs.com/yanff/p/4792265.html
Copyright © 2011-2022 走看看