SSM+maven+oracle搭建一(spring+mybatis测试成功)

1.maven需要引入的jar包


  4.0.0
  com.cxc
  Hotel
  war
  0.0.1-SNAPSHOT
  Hotel Maven Webapp
  http://maven.apache.org
    
          
        3.2.0.RELEASE  
          
        3.2.6  
          
        1.7.7  
        1.2.14  
      
  
      
          
            junit  
            junit  
            4.11  
              
            test  
          
          
          
            org.springframework  
            spring-core  
            ${spring.version}  
          
  
          
            org.springframework  
            spring-web  
            ${spring.version}  
          
          
            org.springframework  
            spring-oxm  
            ${spring.version}  
          
          
            org.springframework  
            spring-tx  
            ${spring.version}  
          
  
          
            org.springframework  
            spring-jdbc  
            ${spring.version}  
          
  
          
            org.springframework  
            spring-webmvc  
            3.2.0.RELEASE  
          
          
            org.springframework  
            spring-aop  
            ${spring.version}  
          
  
          
            org.springframework  
            spring-context-support  
            ${spring.version}  
          
  
          
            org.springframework  
            spring-test  
            ${spring.version}  
          
          
          
            org.mybatis  
            mybatis  
            3.1.1  
          
          
          
            org.mybatis  
            mybatis-spring  
            1.2.2  
          
          
          
            javax  
            javaee-api  
            7.0  
          
          
          
            mysql  
            mysql-connector-java  
            5.1.22  
          
          
          
            commons-dbcp  
            commons-dbcp  
            1.2.2  
          
          
          
            jstl  
            jstl  
            1.2  
          
          
          
          
            log4j  
            log4j  
            ${log4j.version}  
          
          
          
          
          
            com.alibaba  
            fastjson  
            1.1.41  
          
          
            org.slf4j  
            slf4j-api  
            ${slf4j.version}  
          
  
          
            org.slf4j  
            slf4j-log4j12  
            ${slf4j.version}  
          
          
          
          
            org.codehaus.jackson  
            jackson-mapper-asl  
            1.9.11  
          
          
          
            commons-fileupload  
            commons-fileupload  
            1.3.1  
          
          
            commons-io  
            commons-io  
            2.4  
          
          
            commons-codec  
            commons-codec  
            1.9  
          
      



注意此处没有引入连接oracle的ojdbc的jar,原因是maven没有得到oracle的授权,所以无法直接下载使用

我们可以在网上自行寻找,然后放入项目中在eclipse的可视位置,右键该jar包,build path即可使用

百度云链接:点击获取ojdbc的jar包


2.spring与mybatis整合

1)jdbc.properties文件

#连接oracle数据库
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=xiaoshuo
password=chengxucai
#定义初始连接数  
initialSize=0  
#定义最大连接数  
maxActive=20  
#定义最大空闲  
maxIdle=20  
#定义最小空闲  
minIdle=1  
#定义最长等待时间  
maxWait=60000 

#连接mysql数据库
#jdbc_driverClassName =com.mysql.jdbc.Driver
#jdbc_url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8
#jdbc_username=root
#jdbc_password=root

注意:此处复制有可能会添加空格,在测试的时候注意删除,不然会引起报错

2)spring-mybatis.xml(主要的就是自动扫描,自动注入,配置数据库

  
  
      
      
      
      
          
      
  
      
          
          
          
          
          
          
          
          
          
          
          
          
          
          
      
  
      
      
          
          
          
      
  
      
      
          
          
      
  
      
      
          
      
  

3)log4j配置

#定义LOG输出级别  
log4j.rootLogger=INFO,Console,File  
#定义日志输出目的地为控制台  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.Target=System.out  
#可以灵活地指定日志输出格式,下面一行是指定具体的格式  
log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  
  
#文件大小到达指定尺寸的时候产生一个新的文件  
log4j.appender.File = org.apache.log4j.RollingFileAppender  
#指定输出目录  
log4j.appender.File.File = logs/ssm.log  
#定义文件最大大小  
log4j.appender.File.MaxFileSize = 10MB  
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  
log4j.appender.File.Threshold = ALL  
log4j.appender.File.layout = org.apache.log4j.PatternLayout  
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n  

4)junit测试

    4.1)oracle中建表,并插入数据

create table users(  
  id integer not null,  
  userName varchar(16) not null,  
  password varchar(16) not null,  
  age integer not null, 
  gender integer not null,
   primary key(id)   
)  
insert into users(id,userName,password,age,gender) values(1,'ss','1',24,1) ;

4.2)dao接口

package cxc.hotel.dao;

import cxc.hotel.entity.User;


public interface UserDao {
	/** 方法名 与  UserMapper.xml 文件中的 sql语句的 id 相同*/
    User findUserById(Integer id);
}

4.3)service接口

package cxc.hotel.service.impl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import cxc.hotel.dao.UserDao;
import cxc.hotel.entity.User;
import cxc.hotel.service.UserService;

@Service("userService")
public class UserServiceImpl implements UserService {
	 	@Resource  
	    private UserDao userDao;  
	    public User getUserById(int userId) {  
	        return this.userDao.findUserById(userId);  
	    }  
}

4.4)service实现类

package cxc.hotel.service.impl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import cxc.hotel.dao.UserDao;
import cxc.hotel.entity.User;
import cxc.hotel.service.UserService;

@Service("userService")
public class UserServiceImpl implements UserService {
	 	@Resource  
	    private UserDao userDao;  
	    public User getUserById(int userId) {  
	        return this.userDao.findUserById(userId);  
	    }  
}

4.5)建mapper.xml文件

 
 
 
 
 
 
 
 
 
  

 

4.6)junit测试类

import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.alibaba.fastjson.JSON;

import cxc.hotel.entity.User;
import cxc.hotel.service.UserService;


@RunWith(SpringJUnit4ClassRunner.class)     //表示继承了SpringJUnit4ClassRunner类  
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})  
  
public class TestMyBatis {  
    private static Logger logger = Logger.getLogger(TestMyBatis.class);
//  private ApplicationContext ac = null;  
    @Resource  
    private UserService userService = null;   
  
    @Test  
    public void test1() {  
        User user = userService.getUserById(1);  
        System.out.println(user);
    }  
} 

4.7)测试结果


至此spring+mybatis就整合成功

4.8)整合spring+mybatis后的结构图

SSM+maven+oracle搭建一(spring+mybatis测试成功)_第1张图片


3.注意事项:

1)导入jar包的时候看看maven中的对应jar包是否能用

2)dao中方法名 与  UserMapper.xml 文件中的 sql语句的 id 相同

3)自行导入要使用的ojdbc的jar包

4)建jsp文件报错?原因是因为缺少javax.servlet 的jar包依赖
在pom.xml文件中添加以下代码下载servlet-api:
 
    javax.servlet  
    servlet-api  
    2.5  
    provided  

 

5)我上面的log4j文件的名字前面有一个空格,不知道大家注意没,因此在控制台出现警告


经过细心寻找,终于还是发现了这个错误,所以大家在写代码的时候一定要小心小心再小心

把空格去掉后,控制台就能输出日志了,结果如下

SSM+maven+oracle搭建一(spring+mybatis测试成功)_第2张图片

4.查看SSM+maven+oracle搭建二(spring+mybatis+springMVC):点击打开链接

你可能感兴趣的:(ssm框架)