zoukankan      html  css  js  c++  java
  • spring3.2.2+mybatis3.2.3+c3p0项目整合

    在搭建项目之前,创建数据库,以及数据库表,我用的数据库是mysql 5.6.11

    创建数据库语句为:

    Sql代码  收藏代码
     
    CREATE TABLE `orders` (  
      `id` bigint(20) NOT NULL AUTO_INCREMENT,  
      `company_id` varchar(255) DEFAULT NULL,  
      `charge` decimal(18,4) NOT NULL DEFAULT '0.0000',  
      `state` int(11) DEFAULT '0',  
      `remark` varchar(500) DEFAULT NULL,  
      PRIMARY KEY (`id`)  
    ); 

    搭建项目需要以下的包,

    好了,简单的准备工作已经准备就绪,现在来创建一个java项目或者java web项目

    首先,创建dao接口类。

    Java代码  收藏代码
     
    package com.yunix.dao;  
      
    public interface IOrderDao {  
      
        public int getOrderCount();  
    }  

    然后在com.yunix.dao.impl包下创建OrderDaoMapper.xml

    内容为:

    Xml代码  收藏代码
     
    <?xml version="1.0" encoding="UTF-8"?>  
      
    <!DOCTYPE mapper PUBLIC   
        "-//mybatis.org//DTD Mapper 3.0//EN"  
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
      
    <mapper namespace="com.yunix.dao.IOrderDao">  
        <select id="getOrderCount"  resultType="int">  
        <![CDATA[ 
            select count(1) from orders 
        ]]>  
        </select>  
    </mapper>  

     其中namespace为dao接口,id为dao接口中的方法。

    创建service接口:

    Java代码  收藏代码
     
    package com.yunix.service;  
      
    public interface IOrderService {  
      
        public int getOrderCount();  
    }  

     创建service实现类:

    Java代码  收藏代码
     
    package com.yunix.service.impl;  
      
    import org.springframework.beans.factory.annotation.Autowired;  
    import org.springframework.stereotype.Service;  
      
    import com.yunix.dao.IOrderDao;  
    import com.yunix.service.IOrderService;  
      
    @Service  
    public class OrderService implements IOrderService {  
      
        @Autowired  
        private IOrderDao orderDao;  
          
        @Override  
        public int getOrderCount() {  
      
            return orderDao.getOrderCount();  
        }  
      
    }  

     在src文件夹下创建applicationCntext.xml文件

    Xml代码  收藏代码
     
    <?xml version="1.0" encoding="UTF-8"?>  
    <beans xmlns="http://www.springframework.org/schema/beans"    
        default-autowire="byName"    
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
        xmlns:context="http://www.springframework.org/schema/context"   
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
        http://www.springframework.org/schema/context   
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">    
          
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"   
                destroy-method="close">  
            <property name="driverClass" value="com.mysql.jdbc.Driver" />  
            <property name="jdbcUrl" value="jdbc:mysql://192.168.1.5:3306/test" />  
            <property name="user" value="yunix" />  
            <property name="password" value="123456" />  
            <property name="initialPoolSize" value="1" />  
            <property name="minPoolSize" value="0" />  
            <property name="maxPoolSize" value="10" />  
            <property name="acquireIncrement" value="5" />  
            <property name="maxIdleTime" value="10" />  
            <property name="maxStatements" value="0" />  
        </bean>  
          
        <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">    
            <constructor-arg index="0" ref="sqlSessionFactory" />    
        </bean>    
          
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
            <property name="dataSource" ref="dataSource" />  
            <property name="mapperLocations"  
                value="classpath*:com/yunix/dao/impl/*Mapper.xml" />  
        </bean>  
      
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
            <property name="basePackage" value="com.yunix.dao" />  
        </bean>  
      
        <context:component-scan base-package="com.yunix.service" />  
          
          
    </beans>  

     以及log4j.properties

    Properties代码  收藏代码
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%n  
    log4j.logger.com.ibatis=debug  
    log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug  
    log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug  
    log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug  
    log4j.logger.java.sql.Connection=debug  
    log4j.logger.java.sql.Statement=debug  
    log4j.logger.java.sql.PreparedStatement=debug,stdout  

    至此,项目搭建完成。

    到底搭建成不成功,写一个测试类进行简单测试一下。我写的比较简单,写了个main方法进行了测试,测试代码如下:

    Java代码  收藏代码
     
    package test;  
      
    import org.springframework.context.ApplicationContext;  
    import org.springframework.context.support.ClassPathXmlApplicationContext;  
      
    import com.yunix.service.IOrderService;  
      
    public class MyBatisTest {  
      
        public static void main(String[] args) {  
              
            @SuppressWarnings("resource")  
            ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");    
            IOrderService orderService = (IOrderService)context.getBean("orderService");    
            int count = orderService.getOrderCount();    
            System.out.println("count:" + count);    
      
        }  
      
    }  

     运行结果为:

    Console代码  收藏代码
    1. count:11 
  • 相关阅读:
    ruby
    Ajax的基本请求/响应模型
    面向GC的Java编程(转)
    linux中fork()函数详解(转)
    详细解析Java中抽象类和接口的区别(转)
    MQ队列堆积太长,消费不过来怎么办(转)
    消息队列软件产品大比拼(转)
    mac地址和ip地址要同时存在么?
    DP刷题记录(持续更新)
    ZR979B. 【十联测 Day 9】唯一睿酱
  • 原文地址:https://www.cnblogs.com/wsy0202/p/11337249.html
Copyright © 2011-2022 走看看