栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java环境中MyBatis与Spring或Spring MVC框架的集成方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java环境中MyBatis与Spring或Spring MVC框架的集成方法

与Spring3集成
Spring作为基础框架,可以集成后端框架,如Hibernate,MyBatis等。

前面是介绍单独使用MyBatis的,大致逻辑是:
sqlSessionFactory <- configuration file (包括数据库连接配置)
IXxxMapper <- sqlSession <- sqlSessionFactory
                     <- mapper interface <- mapper xml
得到IxxMapper后,就可以调用其方法进行数据交互了。

和Spring集成时,上面的这些对象需要作为bean来管理:
dataSource bean <- 数据库连接配置
sqlSessionFactory bean <- dataSource
                                     <- configuration file
userMapper bean <- sqlSessionFactory
                          <- mapper interface
1. 在pom.xml中加入依赖:

 
 1.2.1 
 1.4 
 3.1.2.RELEASE 
 
 
 
  
  org.mybatis 
  mybatis-spring 
  ${mybatis.spring.version} 
  
  
  org.springframework 
  spring-jdbc 
  ${spring.version} 
  
  
  commons-dbcp 
  commons-dbcp 
  ${dbcp.version} 
  
  
  org.springframework 
  spring-test 
  ${spring.version} 
  
 

2. 在类路径下创建beans-da.xml文件:

 
 
 
  
   
   
   
   
  
  
  
   
   
  
  
  
   
   
  
 

3. 测试类:

@ContextConfiguration(locations = { "classpath:beans-da.xml" }) 
public class SpringIntegrationTest extends AbstractTestNGSpringContextTests { 
  private static final Logger log = LoggerFactory.getLogger(SpringIntegrationTest.class); 
   
  @Resource 
  IUserMapper mapper; 
   
  @Test 
  public void queryTest() { 
    User user = mapper.getUserById(1); 
    log.info("Name: {}, address: {}", user.getName(), user.getAddress()); 
  } 
} 

与SpringMVC集成
这里我们建立在与Spring3集成基础上来讲:
1. 往pom.xml添加SpringMVC和Freemarker依赖:

 
 2.3.19 
 2.5 
 
 
  
 org.freemarker  
 freemarker  
 ${freemarker.version}  
 
 
 javax.servlet  
 servlet-api  
 ${servlet.version} 
 provided 
 

2. 在web.xml中加入Spring的监听器和SpringMVC的servlet:

 
 org.springframework.web.context.ContextLoaderListener 
 
 
 org.springframework.web.context.ContextCleanupListener 
 
 
 
 hbatis 
 org.springframework.web.servlet.DispatcherServlet 
  
 1 
 
 
 hbatis 
 *.htm 
 

3. 在WEB-INF下新建:

Spring配置文件applicationContext.xml:

 
 
 
  
 
  
  
  
   
   
   
  
  
  
   
  
 

类路径下的database.properties:

driverClassName=com.mysql.jdbc.Driver 
url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8 
user_name=root 
password=123456 


注:因为MapperScannerConfigurer可能会导致username取的是系统用户的账号,而造成数据库连接失败,所以改成其它值:user_name。

SpringMVC配置文件hbatis-servlet.xml:

 
 
 
  
 
  
 
  
   
    
    
    
    
    
      
      *.ftl  
      
    
    
    
  
 
   
    
      
      /WEB-INF/ftl/  
      
    
  
 

4. MVC:
控制层:UserController.java

@Controller 
@RequestMapping("/article") 
public class UserController { 
 
  @Autowired 
  IUserMapper mapper; 
 
  @RequestMapping("/list") 
  public String showAll(ModelMap modelMap) { 
    List articles = mapper.getArticlesByUserId(1); 
    modelMap.addAttribute("articles", articles); 
    return "main.ftl"; 
  } 
} 

视图层:main.ftl:

<#list articles as article> 
  ${article.id}. ${article.title}: ${article.content} 
 

5. 启动工程,浏览器输入:http://localhost:8080/hbatis/article/list.htm查看结果。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/150007.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号