SSM 项目搭建mybatis+spring

在这里写一个简单的SSM项目搭建小例:

项目地址文件地址:https://download.csdn.net/my

数据库为:oracle

工具为:eclipse

环境为:jdk1.8、tomcat7.0

使用到的jar包

表名为cource 字段包括cource_id、cource_name、cource_score、start_date

由于建表时名字写错了在后面配置和创建实体类是会将cource 该为course。

首先有一个实体类course;

private String courseId;
private String courseName;
private int courseScore;
private Date startDate;

mapper接口:

package com.neuedu.ssmdemo.mapper;

import java.util.List;

import com.neuedu.ssmdemo.model.Course;

public interface ICourseMapper {
	 // 接口方法默认是共有的抽象的
	public abstract List<Course> findAll();
}

mapper映射文件 .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.neuedu.ssmdemo.mapper.ICourseMapper">
	
	<resultMap type="Course" id="courseMap">
		<id column="cource_id" property="courseId"/>
		<result column="cource_name" property="courseName"/>
		<result column="cource_score" property="courseScore"/>
		<result column="start_date" property="startDate"/>
	</resultMap>
	<!-- 根据方法的功能,配置对应的标签 -->
	<select id="findAll" resultMap = "courseMap">
		select * from cource
	</select>
</mapper>

service层接口:

package com.neuedu.ssmdemo.service;

import java.util.List;

import com.neuedu.ssmdemo.model.Course;
/**
 * @author gyf
 * 
 */
public interface ICourseService {
	public List<Course> findAll();
}

service实现类

package com.neuedu.ssmdemo.service.imp;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.neuedu.ssmdemo.mapper.ICourseMapper;
import com.neuedu.ssmdemo.model.Course;
import com.neuedu.ssmdemo.service.ICourseService;

//把当前类配置成为需要进行事务控制,当执行更新操作时spring会自动完成事务管理
@Transactional 
//把当前类在spring中注册为服务组件,spring实例化对象时可以根据配置执行来注入
@Service 
public class CourseService implements ICourseService {
	
	//整合调用mybatis的mapper接口,由spring执行依赖注入
	@Resource
	private ICourseMapper courseMapper;
	
	@Override
	public List<Course> findAll() {
		return courseMapper.findAll();
	}

}

mybatis-config配置文件:

<?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>
		<package name = "com.neuedu.ssmdemo.model"/>
	</typeAliases>
	
	
	<mappers>
		<package name="com.neuedu.ssmdemo.mapper"></package>
	</mappers>
</configuration>

applicationContext配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:aop="http://www.springframework.org/schema/aop" 
	xmlns:context="http://www.springframework.org/schema/context"
	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.xsd 
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">

 	<!-- 使用spring提高的组件扫描注解组件 -->
 	<context:component-scan base-package="com.neuedu.ssmdemo.service"/>
 	
 	<context:property-placeholder location = "classpath:config/db.properties"/>
 	<!-- 整合spring+mybatis后事务交给spring进行统一管理,需要统一使用spring提供的数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
		
		<property name="username" value="数据库账号"></property>
		<property name="password" value="数据库密码"></property>
		<property name="url" value="jdbc:oracle:thin://localhost:1521/orcl"></property>
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
	</bean>
	<!-- 整合mybatis,把数据源给mybatis  sqlSessionFactory -->
	<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	
	<bean id = "sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<property name="configLocation" value="config/mybatis-config.xml"/>
	</bean>
	<!-- mapper 接口扫描器 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.neuedu.ssmdemo.mapper"></property>
	</bean>
</beans>

测试方法:

package test;

import java.util.List;

import org.apache.log4j.Logger;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.neuedu.ssmdemo.model.Course;
import com.neuedu.ssmdemo.service.ICourseService;

public class TestCourseService {
	private Logger logger=Logger.getLogger(TestCourseService.class);
	private ApplicationContext context = null;
	private ICourseService courseService;
	@Before 
	public void init(){
		logger.info("执行spring环境初始化");
		// 方法一 ApplicationContext
		String configLocation = "config/applicationContext.xml";
		// 接收一个配置文件名称的数组作为参数
		String [] configs = new String []{configLocation};
		context = new ClassPathXmlApplicationContext(configs);
		logger.info("执行spring环境初始化完毕");
	}
	
	@Test
	public void testFindAll(){
		courseService = context.getBean(ICourseService.class);
		List<Course> list = courseService.findAll();
		if (list!=null) {
			for (Course course : list) {
				logger.info(course.getCourseName());
			}
		}
	}
}
一个简单demo奉上,一可以去顶部地址下载项目文件具体分析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值