当前位置:文档之家› Spring+mybatis环境搭建

Spring+mybatis环境搭建

Spring3.0.6 +mybatis 3.0.6搭建Spring:上个星期天开始做老师给的东西,这次打算用上刚学习了得MyBatis,然后就还想要要能上JAVA里面很强大的很好用的Spring框架,但是我以前也没有学过,直接是硬着头皮来做的。

因为我采用的是mybatis-3.0.6-bundle+spring-3.0.6.RELEASE这两个版本的整合,都比较新,所以网上资料还是很少的。

所以遇到了很多问题,故作此次总结,希望以后能帮助到各位。

准备工作:1.的。

2.解压spring-framework-3.0.6.RELEASE-with-docs.zip,找到dist目录,下面的就是spring会用到的jar包了,具体jar包得作用如下:搭建Spring步骤:3.在myeclipse中新建一个web项目,名字叫做T estSpring2,为了省事,直接将上面所有的spring的jar包导入lib文件夹。

具体也可以根据上面有选择性的导入。

4.新建spring的配置文件,名字可以随便起,但是要注意,这个文件的路径是需要在web.xml中配置的,我起名叫做ApplicationContext.xml,放在了web-inf目录下,内容如下:记得如果拷贝这里的内容最好先拷贝到记事本,再拷贝到myeclipse下面去,就不会报错了。

5.按理来上,做好上面的配置,spring就应该配置好了。

但是,如果此时部署到tomcat,在tomcat的config目录中server.xml的最后倒数第三行左右,在</Host>这个结束标签之前加入如下配置:6.此时,启动tomcat,会报如下的错误:7.发生这个错误的原因在于没有导入spring的相关依赖包,现在导入上面罗列的commons-logging-1.1.1.jar包到lib目录。

8.再次启动tomcat,错误消失。

9.测试spring配置正确。

这个不一定是必须的,但是为了初步学习一下spring的用法,我举得还是有必要测试一下。

测试的方法:我们通过浏览器访问http://localhost/course/这个地址,然后后台想数据库插入一条数据,表名为TestT able, 建表语句如下:10.先配置spring的数据源,也就是配置数据库的连接。

11.将mysql的驱动包拷贝进lib文件夹,在新建一个properties文件在web-inf文件夹下面,内容如下:这个里面的value使用了${}表达式,{}中的名称就是上面jdbc.properties文件中对应的字段名称。

但是这个时候需要将Commons-dbcp.jar和Commons-pool.jar导入进lib包下。

到这里,Spring的数据源就配置成功了。

20.在web.xml中配置该servlet,如下:http://localhost/course/,查看出结果和数据库的信息查看以上信息,后台打印正确。

查看数据库,插入成功。

那么spring的环境就配置成功了。

下一讲我将整理出如何将mybatis整合进spring。

配置MybatisMyBatis介绍:首先,说说Mybatis这个东西。

Mybatis就是是以前ibatIS的升级版,正是在今年(2011年)的6月中旬,在apache寄居6年的ibatIS脱离apache了,将代码托管到Google Code,与此同时改名为mybatis。

Mybatis作为一个实现了JPA( Java Persistence API)规范的一门O/R Mapping 框架(对象/关系映射),有着易学易用,轻巧灵活等特点。

尤其是对于擅长SQL的开发人员来说,mybatis对SQL 和存储过程的直接支持能够让他们在获得mybatis封装优势的同时而不丧失SQL调优的手段,这是Hibernate所无法比拟的。

具体来说:1.mybatis封装了绝大多数的JDBC样板代码,使得开发者只需要关注SQL本身而不需要花费精力去处理例如注册驱动,创建Connection,以及确保关闭Connection这样繁琐的代码。

2. 学习成本低,最容易上手和掌握的框架。

上面已经搭建好了Spring,我现在就来写将mybatis整合进spring整合mybatis1.首先我们需要导入mybatis-3.0.6.jar和mybatis-spring的整合包mybatis-spring-1.0.3-SNAPSHOT.jar到lib文件夹中2.编写MyBatis的总配置文件,名字也可以随便取,但是后面也要在spring的配置文件中指定该配置文件的路径。

在WEB-INF目录下新建一个文件SqlMapConfig.xml:3.4.编写在SqlMapConfig.xml文件中vo类对应的DAO类对应的xml文件。

这个xml中定义在这张表上所有进行的CRUD操作的具体SQL语句,也就是实现类在实现所操作的sql 语句都是在这个文件里面所读取的。

说白了就是一个SQL语句集合的文件。

具体模板如下:假如mapper中有如下的语句:INSERT INTO COLLEGETABLE (COLLEGENAME ,COLLEGEDESCRIPTION)VALUES ($(#){collegeName},$(#){collegeDescription})a)$表示取值,那么从mapper文件中读取这个sql语句为:INSERT INTO COLLEGETABLE(COLLEGENAME ,COLLEGEDESCRIPTION) VALUES (aaa,bbbb) 不是问号,而是具体的值这个时候读取的SQL是讲我们的值设置到了sql语句,就没有占位符?b)#表示占位符,那么从mapper文件中读取的该sql语句如:INSERT INTO ANNOUNCEMENT(TITLE,CONTENT) VALUES (?,?)所以搞不好就会报错:Cause: com.my sql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'aaa' in 'field list' 5.重新编写一个IT estTableDAO的实现类ITestT ableDAOImpl2.java,这里,我所有的DAO设计有点问题,但是不影响实现,希望大家以后不要像我这样写。

我懒得从前面改了。

在DAO接口中的时候就把所有方法的参数带上,我这儿没有带上,所以有点难看。

6.7.剩下就是将我们刚刚写的第二个实现类配置到Spring的配置文件中去,让service调用我们刚刚编写的类,而不是前一个。

对ApplicationContext.xml做如下修改:8.9.至此,那么我们的Spring+MyBatis环境就搭建好了,但是,我们还需要配置日志环境,因为如果一旦出错,我们根本不知道错出在哪里,出了什么错。

下一讲我接着写Spring中如何配置log4j.来打印输入日志信息.Spring中Log4j的配置:配置Log4j:1.在src路径下新建一个Log4j.properties文件,注意,这个文件必须放在src路径下,我曾试过,放在其他路径,就算是路径写对了,依然要报错的。

内容如下:2.3.在启动的时候发现打印了很多的debug信息。

具体要输出哪些信息,可以去log4j.properties文件中去配置。

如图所以,打印出了我们所需要的信息。

那么log4j配置成功。

JUnit in Spring为什么要用JUnit spring?在web开发的时候,有很多模块要写,我们不可能让所有的模块都写好了以后放在一起,在浏览器里面再来运行,调试。

而应该是一个模块写完,就测试一个模块,但是问题就来了,如果每次都测试又是重启服务器,刷新浏览器,特别是当项目很大的时候,重启一次得花上几分钟的时间。

这样的调试效率就很低。

为了解决这个问题,spring框架提供了一个测试模块,供我们进行JUnit测试。

下面我就来讲一讲怎么配置JUnit的测试环境来测试我们的模块。

配置JUnit的测试环境:1.添加JUnit的jar包。

在myeclipse中自带了JUnit4的测试jar包,所以我们需要关联到我们的项目。

a)在项目上点击右键,选择Build Path-->Add Libraries--> 选择JUnit-->Next-->选择JUnit4-->finish2.测试最麻烦的是在于得到相关配置文件的路径问题,具体几种方式我写不清楚。

我大致说一下,有可能不对哟。

大家最好自己去查一下。

a)默认的路径是到src目录,也就是WebRoot目录的classes目录下去找。

也就是路中加一个classpath:或者不加,默认的就是采用的这种方式。

但是这种方式需要的是将所有的配置文件都写在src目录下。

b)我没有采用上一种方式,因为我的配置文件都是放在WEB-INF目录下的,classpath是找不到该目录,也就是如果我继续使用上面的项目来进行测试,我就必须采用另一种路径查找方式。

绝对路径:i.路径前面加上一个file:这个时候的路径相对的是网站的根路径。

所以我的项目前面是采用的默认的classpath寻址方式,我现在得做修改。

3.修改所有配置文件的路径:因为我们不会启动tomcat服务器,所以不用修改web.xml中的路径。

修改Spring的配置文件:ApplicationContext.xml文件4.接下来我们需要编写一个测试类:绿条,表明测试结果成功。

在查看数据库,应该有4条记录:(Spring→Mybatis→Log4j→JUnit)所以有四次插入数据库的操作。

只是我的项目当时没有写好,后面又懒得改了。

至此,Spring-3.0.6+mybatis3.0.6的环境搭建和测试环境全部完成,大家自己下去好好表演吧。

相关主题