maven集成myibais+spring的事例+ 事务管理 实例查询功能

22 篇文章 0 订阅
13 篇文章 0 订阅

      最近在开发项目中用到maven工具。。纠结得要命,什么也不懂,还要配置很多东西。不过maven这个工具的好处很多。例如不需要导入包,直接引用仓库就OK等等......

好了,回正题 这章介绍了一下将maven+MyBatis+Spring整合在一起使用,

首先看一下结构图吧!思路一定要清晰

 

一:实体类

 

package log.model;

import java.util.Date;
public class Log {

	//日志ID
	private int id;
	
	//日志类型
	private String logType;
	
	//操作人账号
	private String operatorAccount;
	
	//日志描述
	private String Des;
	
	//备注
	private String remark;
	
	//日志时间
	private Date logTime;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getLogType() {
		return logType;
	}

	public void setLogType(String logType) {
		this.logType = logType;
	}

	public String getOperatorAccount() {
		return operatorAccount;
	}

	public void setOperatorAccount(String operatorAccount) {
		this.operatorAccount = operatorAccount;
	}

	public String getDes() {
		return Des;
	}

	public void setDes(String des) {
		Des = des;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Date getLogTime() {
		return logTime;
	}

	public void setLogTime(Date logTime) {
		this.logTime = logTime;
	}

}


二:数据访问接口

 

package log.dao;

import log.util.Paging;




public interface LogDao {

	/**
	 * 插入日志
	 * @param logType 日志类型
	 * @param account 操作人账号
	 * @param logDes 日志描述
	 * @param remark 备注
	 */
	public void log(String logType, String account, String logDes, String remark);
	/**
	 * 查询日志
	 * @param page
	 * @param logType 日志类型
	 * @param account 操作人账号
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 */
	public void getLogs(Paging page, String logType, String account, String startTime, String endTime);
}


 

三:服务层接口

 

package log.dao;

import log.util.Paging;



public interface LogService {
	/**
	 * 插入日志
	 * @param account 用户名
	 * @param logType 日志类型
	 * @param logDes 日志描述
	 * @param remark 备注
	 */
	public void log(String account, String logType, String logDes, String remark);
	/**
	 * 查询日志
	 * @param page
	 * @param logType 日志类型
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 */
	public void getLogs(Paging page, String logType, String account, String startTime, String endTime);
}


 

 

四:工具类

 

package log.dao;

import javax.servlet.http.HttpServletRequest;

import log.util.Paging;

/**
 * WEB工具类方法. <br>
 * 用于保存分页数据到HTTP请求等.
 * 
 * @author flyxxxxx@163.com
 * 
 */
public class WebUtils {
	private WebUtils() {
	}

	
}


 

五:数据访问实现类

 

package log.impl;


import org.mybatis.spring.support.SqlSessionDaoSupport;

import log.dao.LogDao;
import log.model.Log;
import log.util.Paging;

public class LogDaoImpl extends SqlSessionDaoSupport implements LogDao{

	private Log log;
	
	public Log getLog() {
		return log;
	}

	public void setLog(Log log) {
		this.log = log;
	}

	public void log(String logType, String account, String logDes, String remark) {
		log.setLogType(logType);
		log.setOperatorAccount(account);
		log.setDes(logDes);
		log.setRemark(remark);
		this.getSqlSession().insert("log.add", log);
	}

	public void getLogs(Paging page, String logType, String account,
			String startTime, String endTime) {
		
		page.setData(this.getSqlSession().selectList("log.queryUserByID"));
	}

}


六:服务层实现类

 

package log.impl;

import log.dao.LogDao;
import log.dao.LogService;
import log.util.Paging;



public class LogServiceImpl implements LogService{

	private LogDao logDao;
	public LogDao getLogDao() {
		return logDao;
	}

	public void setLogDao(LogDao logDao) {
		this.logDao = logDao;
	}

	public void log(String account, String logType, String logDes, String remark) {
		// TODO Auto-generated method stub
		logDao.log(logType, account, logDes, remark);
	}

	public void getLogs(Paging page, String logType, String account, String startTime, String endTime) {
		// TODO Auto-generated method stub
		logDao.getLogs(page, logType, account, startTime, endTime);
	}

}


七:数据访问接口映射文件 即是myibatis映射文件 (LogMapper.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="log">
<sql id="logSelectId">
	ID id,
	LOG_TYPE logType,
	OPERATOR_ACCOUNT operatorAccount,
	LOG_DES,REMARK Des,
	LOG_TIME remark
</sql>
	<select id="queryUserByID" resultType="Log">
		SELECT 
		<include refid="logSelectId"/>
		FROM log
	</select>
	<insert id="add" parameterType="Log">
		insert into log(ID,LOG_TYPE,OPERATOR_ACCOUNT,LOG_DES,REMARK,LOG_TIME)
		values(#{id},#{logType},#{operatorAccount},#{Des},#{remark},#{logTime})
	</insert>
</mapper>


 

 

八:mybatis总配置文件 (sqlMapConfig.xml) 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<typeAliases>
		<typeAlias alias="Log" type="log.model.Log" />
	</typeAliases>
	<mappers>
		<mapper resource="ibatis/LogMapper.xml"/>
	</mappers>
</configuration>


 

九:spring 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
	
	<!-- 接连池 -->
	<import resource="spring-jdbc.xml"/>
	<!--  
	<bean id="LogDao" class="log.impl.LogDaoImpl">
		<property name="sqlSessionFactory" ref="sqlSessionFactory" />
	</bean>
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation" value="ibatis/sqlMapConfig.xml" />
	</bean>	
	-->
		
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation" value="ibatis/sqlMapConfig.xml" />
	</bean>	
	
	 <bean class="org.mybatis.spring.mapper.MapperFactoryBean">        
		 <property name="mapperInterface" value="log.dao.LogDao"></property>        
		 <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>    
	 </bean> 
	  
	   <!-- 以下为 依赖注入的 类-->
	  <bean id="log" class="log.model.Log" autowire="byName" /> 
	  <bean id="logDao" class="log.impl.LogDaoImpl" autowire="byName" />  
	  <bean id="logService" class="log.impl.LogServiceImpl"    autowire="byName"/>
	   
</beans>


 

十:jdbc配置文件(spring-jdbc.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
	
	
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
		<property name="url" value="jdbc:jtds:sqlserver://localhost:1433;databaseName=maven" />
		<property name="username" value="sa" />
		<property name="password" value="123456789" />
	</bean>
</beans>


 

 

十一:junit测试类

 

package org.clzps.main;

import junit.framework.TestCase;
import log.dao.LogService;
import log.model.Log;
import log.util.Paging;

import org.springframework.context.support.ClassPathXmlApplicationContext;


/**
 * Unit test for simple App.
 */
public class MybatisSpringTest extends TestCase
{
    public MybatisSpringTest( String testName )
    {
        super( testName );
    }
    
    public void testMain() {
    	ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-log-context.xml");
    	//LogService logService = (LogService)context.getBean("logService");
    	LogService logService = (LogService)context.getBean(LogService.class);
//    	Log log = new Log();
    	Paging page = new Paging();
    	String logType = null;
    	String account = null;
    	String startTime = null;
    	String endTime = null;
//    	log.setId(10);
//    	log.setLogType("杂有");
//    	log.setOperatorAccount("旭民不鼐太极转运鼠国以");
//    	log.setRemark("ff d s s ");
//    	log.setDes("01254221");
//    	log.setLogTime(new Date());
    	
//    	logDao.insert(log);
    	logService.getLogs(page, logType, account, startTime, endTime);
    	for (Object o : page.getData()) {
			Log log = (Log) o;
			System.out.println(log.getId());
		}
    	
    }
}


 

十二:引用包的配置文件 pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.csair.ibe</groupId>
  <artifactId>com.csair.ibe.log</artifactId>
  <version>1.0.0</version>
  
  <dependencies>
  <dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.7</version>
      <scope>test</scope>
    </dependency>
    <dependency>
    	<groupId>org.mybatis</groupId>
    	<artifactId>mybatis</artifactId>
    	<version>3.0.4</version>
    	<type>jar</type>
    	<scope>compile</scope>
    </dependency>
    <dependency>
    	<groupId>org.mybatis</groupId>
    	<artifactId>mybatis-spring</artifactId>
    	<version>1.0.0-RC3</version>
    	<type>jar</type>
    	<scope>compile</scope>
    </dependency>
    <dependency>
    	<groupId>mysql</groupId>
    	<artifactId>mysql-connector-java</artifactId>
    	<version>5.1.16</version>
    	<type>jar</type>
    	<scope>compile</scope>
    </dependency>
    
    <dependency>
    	<groupId>commons-dbcp</groupId>
    	<artifactId>commons-dbcp</artifactId>
    	<version>1.2.2</version>
    	<type>jar</type>
    	<scope>compile</scope>
    </dependency>
    <dependency>
    	<groupId>commons-collections</groupId>
    	<artifactId>commons-collections</artifactId>
    	<version>3.2.1</version>
    	<type>jar</type>
    	<scope>compile</scope>
    </dependency>
    <dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2.4</version>
</dependency>
    
  </dependencies>
</project>


 

 

源码:http://download.csdn.net/detail/mmm333zzz/4652815

    

 

 

 转载请注明出处

作者:蓝缘
 出处:
http://blog.csdn.net/mmm333zzz/article/details/8077542

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值