spring3.2.2+mybatis3.2.3+c3p0项目整合
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
在搭建项目之前,创建数据库,以及数据库表,我用的数据库是mysql 5.6.11
创建数据库语句为:
- 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`)
- );
搭建项目需要以下的包,
mybatis-3.2.3-SNAPSHOT.jar
mybatis-spring-1.2.0.jar
mysql-connector-java-5.1.24-bin.jar
c3p0-0.9.1.2.jar
commons-logging-1.1.1.jar
spring-aop-3.2.2.RELEASE.jar
spring-aspects-3.2.2.RELEASE.jar
spring-beans-3.2.2.RELEASE.jar
spring-context-3.2.2.RELEASE.jar
spring-context-support-3.2.2.RELEASE.jar
spring-core-3.2.2.RELEASE.jar
spring-expression-3.2.2.RELEASE.jar
spring-jdbc-3.2.2.RELEASE.jar
spring-tx-3.2.2.RELEASE.jar
好了,简单的准备工作已经准备就绪,现在来创建一个java项目或者java web项目
首先,创建dao接口类。
- package com.yunix.dao;
- public interface IOrderDao {
- public int getOrderCount();
- }
然后在com.yunix.dao.impl包下创建OrderDaoMapper.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接口:
- package com.yunix.service;
- public interface IOrderService {
- public int getOrderCount();
- }
创建service实现类:
- 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 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
- 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方法进行了测试,测试代码如下:
- 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);
- }
- }
运行结果为:
- count:11
spring3.2.2+mybatis3.2.3+c3p0项目整合的更多相关文章
- Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合(注解及源码)
Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合(注解及源码) 备注: 之前在Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合中 ...
- SSM项目整合基本步骤
SSM项目整合 1.基本概念 1.1.Spring Spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作 ...
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合(转载)
孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(八)--Mybatis3.x与Spring4.x整合 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: m ...
- Maven项目整合SSH框架
---------------------siwuxie095 Maven 项目整合 SSH 框架 创建 ...
- SSH项目整合基本步骤
SSH项目整合基本步骤 一.项目简介 该项目是由Spring4.Struts2 以及 Hibernate4 整合搭建的 web 项目,把Action分开编写,便于查看,使用JSTL.EL标签. 二.项 ...
- PMP 第四章 项目整合管理
1.什么是整合管理,整合什么?如何整合? 项目整合管理包括识别 定义 组合 统一与协调项目管理过组的个过程及项目管理活动二进行的各种过程和活动. 整合兼具统一 合并 连接和一体化的性质,对 ...
- 实战突击: Java Web项目整合开发(PDF)
实战突击: Java Web项目整合开发(PDF)
- J2EE进阶(六)SSH框架工作流程项目整合实例讲解
J2EE进阶(六)SSH框架工作流程项目整合实例讲解 请求流程 经过实际项目的进行,结合三大框架各自的运行机理可分析得出SSH整合框架的大致工作流程. 首先查看一下客户端的请求信息: 对于一个Web项 ...
- 思维导图读PMbok第6版 - 项目整合管理(21张全讲)
“ 3个月,800多页书,一大堆工作,复习时间不够呀?老师用思维导图解析PMP,思维导图解析PMP梳理PMbok第6版逻辑结构,帮你您全局掌握PMP知识,重点掌握PMbok难点.快速记忆PMP知识,思 ...
随机推荐
- 【HDOJ】4345 Permutation
即求P1^n1+P2^n2 + ... + Pk^nk <= n,其中Pk为素数的所有可能组合.思路是DP.1~1000的素数就不到200个.dp[i][j]表示上式和不超过且当前最小素数为P[ ...
- 【HDOJ】4343 Interval query
最大不相交集合的数量.思路是dp[i][j]表示已经有i个不相交集合下一个不相交集合的最右边界.离散化后,通过贪心解. /* 4343 */ #include <iostream> #in ...
- Android开发之一些资源索引
1.android标题栏(titlebar)显示进度条 protected void onCreate(Bundle savedInstanceState) { super.onCreate(save ...
- Hive 接口介绍(Web UI/JDBC)
Hive 接口介绍(Web UI/JDBC) 实验简介 本次实验学习 Hive 的两种接口:Web UI 以及 JDBC. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanl ...
- java 死锁及解决
Java线程死锁如何避免这一悲剧 Java线程死锁需要如何解决,这个问题一直在我们不断的使用中需要只有不断的关键.不幸的是,使用上锁会带来其他问题.让我们来看一些常见问题以及相应的解决方法: Jav ...
- UVa 1606 (极角排序) Amphiphilic Carbon Molecules
如果,没有紫书上的翻译的话,我觉得我可能读不懂这道题.=_=|| 题意: 平面上有n个点,不是白点就是黑点.现在要放一条直线,使得直线一侧的白点与另一侧的黑点加起来数目最多.直线上的点可以看作位于直线 ...
- 使用Amoeba 实现MySQL DB 读写分离
Amoeba(变形虫)项目是一个开源框架,于2008年开始发布一款 Amoeba for Mysql软件: 这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQ ...
- P2P编程(十)
此为网络编程的一个系列,后续会把内容补上....
- Host绑定
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Host ...
- J2EE的若干问题
1.问题:jsp中out.println页面显示不出换行效果.例如: out.println("唱歌"); out.println("跳舞"); 以上代码的结果 ...