最近在自学spring,看到第五章时发现文章里介绍的只有基于jdbc,hibernate等于spring的整合,而本白项目中mybatis用的比较多,所以就自己动手整合了一下,中间也遇到了一些小麻烦,但最终还是完成了。特此记录。
项目目录结构:
首先,新建一个maven项目(不会新建maven的请点此链接:点我进链接)。然后是配置pom.xml,引入项目所需的jar包,具体配置如下:
4.0.0
MavenDemo
springAndMybatis
0.0.1-SNAPSHOT
jar
springAndMybatis
http://maven.apache.org
UTF-8
junit
junit
3.8.1
test
org.springframework
spring-orm
3.2.4.RELEASE
org.springframework
spring-webmvc
3.2.4.RELEASE
org.mybatis
mybatis
3.2.3
org.mybatis
mybatis-spring
1.2.1
com.alibaba
druid
1.0.11
log4j
log4j
1.2.17
mysql
mysql-connector-java
5.0.2
所需jar包都准备齐全之后,开始构建项目。spring配置文件applicationContext.xml:
此处sqlmap的xml文件都是自动扫描的,所以并不需要创建mybatis的mapper配置文件,如需了解非扫描型的配置请参见:点我进链接。
db.properties:
db.url=jdbc:mysql://127.0.0.1:3306/pay
db.driverName=com.mysql.jdbc.Driver
db.username=root
db.password=auto102360
log4j.properties(此文件放在src目录下即可):
### Global logging configuration
log4j.rootLogger=DEBUG, stdout
### Uncomment for MyBatis logging
log4j.logger.org.apache.ibatis=INFO
### Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
MenuItem.xml:
MenuItemDao.java:
package MavenDemo.springAndMybatis;
import java.util.List;
import org.springframework.stereotype.Repository;
@Repository
public interface MenuItemDao {
public List
Menuitem.java:
package MavenDemo.springAndMybatis;
import java.util.Date;
public class Menuitem {
private Long menuitemnbr;
private String menuitemdesc;
private String menuitemurl;
private String imagename;
private Long parentmenuitemnbr;
private Date datelastmaint;
private Integer menuitemlevnbr;
private String authitemcd;
private String template;
public Long getMenuitemnbr() {
return menuitemnbr;
}
public void setMenuitemnbr(Long menuitemnbr) {
this.menuitemnbr = menuitemnbr;
}
public String getMenuitemdesc() {
return menuitemdesc;
}
public void setMenuitemdesc(String menuitemdesc) {
this.menuitemdesc = menuitemdesc;
}
public String getMenuitemurl() {
return menuitemurl;
}
public void setMenuitemurl(String menuitemurl) {
this.menuitemurl = menuitemurl;
}
public String getImagename() {
return imagename;
}
public void setImagename(String imagename) {
this.imagename = imagename;
}
public Long getParentmenuitemnbr() {
return parentmenuitemnbr;
}
public void setParentmenuitemnbr(Long parentmenuitemnbr) {
this.parentmenuitemnbr = parentmenuitemnbr;
}
public Date getDatelastmaint() {
return datelastmaint;
}
public void setDatelastmaint(Date datelastmaint) {
this.datelastmaint = datelastmaint;
}
public Integer getMenuitemlevnbr() {
return menuitemlevnbr;
}
public void setMenuitemlevnbr(Integer menuitemlevnbr) {
this.menuitemlevnbr = menuitemlevnbr;
}
public String getAuthitemcd() {
return authitemcd;
}
public void setAuthitemcd(String authitemcd) {
this.authitemcd = authitemcd;
}
public String getTemplate() {
return template;
}
public void setTemplate(String template) {
this.template = template;
}
}
至此,项目已经搭建完毕,下面用测试验证一下:
App.java:
package MavenDemo.springAndMybatis;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
long t1 = System.currentTimeMillis();
ApplicationContext ac = new ClassPathXmlApplicationContext("config/applicationContext.xml");
MenuItemDao dao = ac.getBean(MenuItemDao.class);
/*List
控制台将打印:
再看数据库中数据:
结果一致,测试成功!
本人也是小白一枚,如有不足之处,欢迎评论指正。