使用SpringMVC如何实现整合mybatis

这篇文章给大家介绍使用SpringMVC如何实现整合mybatis,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联公司是一家专注于网站建设、成都做网站服务器托管的网络公司,有着丰富的建站经验和案例。

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。

一、逆向工程生成基础信息

<?xml version="1.0" encoding="UTF-8"?>








word="jalja">























public static void main(String[] arhs) throws Exception{ List warnings = new ArrayList(); boolean overwrite = true; File configFile = new File("src.main.resources/generator.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); }

二、springMVC与Mybatis整合 各个配置文件

1.项目结构

2、各个文件的核心代码

a.web.xml

<?xml version="1.0" encoding="UTF-8"?> 
 
 
index.jsp 
 

contextConfigLocation
 classpath:spring/applicationContext-*.xml 

 
org.springframework.web.context.ContextLoaderListener 
 
 
log4jConfigLocation 
classpath:log4j.properties 
 
 
log4jRefreshInterval 
3000 
 
 
org.springframework.web.util.Log4jConfigListener 
 


SpringEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter

encoding
UTF-8


forceEncoding
true



SpringEncodingFilter
*.do
 
 
 
springMvc 
org.springframework.web.servlet.DispatcherServlet 
 

contextConfigLocation 
classpath:spring/springmvc.xml 
 
1 
 
 
springMvc 

*.do 
 


30

b、config/mybatis/applicationContext-mybatis.xml

<?xml version="1.0" encoding="UTF-8" ?> 
 
 

 




















c、config/spring/applicationContext-dao.xml

<?xml version="1.0" encoding="UTF-8"?>


 



${jdbc_driverClassName}


${jdbc_url}


${jdbc_username}


${jdbc_password}



20



1



60000



20



3



true



180



clientEncoding=UTF-8


 
 
 

 

 

 
 
 










 
 






d、config/spring/applicationContext-service.xml

<?xml version="1.0" encoding="UTF-8"?>


e、config/spring/springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>


 

 




















 



 















 

f、config/jdbc.properties

jdbc_driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8
jdbc_username=root
jdbc_password=111111

g、config/log4j.properties

#在开发环境下的日志级别 要设置成debug,生成环境设置成info 或error
log4j.rootLogger=debug, stdout
log4j.logger.org.apache.ibatis=debug
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

h、com/jalja/springmvc_mybatis/controller/ItemsController.java

package com.jalja.springmvc_mybatis.controller;
import java.io.File;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import com.jalja.springmvc_mybatis.exception.CustomException;
import com.jalja.springmvc_mybatis.model.custom.ItemsCustom;
import com.jalja.springmvc_mybatis.service.ItemsService;
/**
* 商品 
* @author PC003
*conterver参数转换器 springMvc提供了很多参数转换器
*/
@Controller
@RequestMapping("/items") //窄化请求映射
public class ItemsController {
@Autowired ItemsService itemsService;
@RequestMapping(value="/findItemsList")
public String findItemsList(Model model) throws Exception{
List itemsList=itemsService.findItemsList(null);
System.out.println(itemsList);
model.addAttribute("itemsList", itemsList);
return "itemsList";
}
@RequestMapping(value="/editItems", method={RequestMethod.POST,RequestMethod.GET}) //限制Http请求方式
//@RequestParam 将请求参数 与 形式参数进行绑定 required:指定属性必须传入值 defaultValue:设置默认值
public String editItems(Model model, @RequestParam(value="id",required=true,defaultValue="0") Integer itemsId) throws Exception{
ItemsCustom itemsCustom=itemsService.findItemsById(itemsId);
if(itemsCustom==null){
throw new CustomException("商品不存在");
}
model.addAttribute("itemsCustom", itemsCustom);
return "editItems";
}
@RequestMapping(value="/updateItems")
public String editItemsSubmit(Integer id,ItemsCustom itemsCustom,MultipartFile itemsPic) throws Exception{
String uploadFileName=itemsPic.getOriginalFilename();//获取上传的文件名
if(itemsPic!=null && uploadFileName!=null && !uploadFileName.equals("")){
String imagesPath="E:\\develop\\upload\\images\\";
String newFileName=UUID.randomUUID()+uploadFileName.substring(uploadFileName.lastIndexOf("."),uploadFileName.length());
File newFile=new File(imagesPath+newFileName);
itemsPic.transferTo(newFile);//将内存中的数据写入磁盘
itemsCustom.setPic(newFileName);
}
itemsService.updateItemsById(id, itemsCustom);
return "redirect:findItemsList.do"; //重定向
}
//JSON的使用 @ResponseBody:将对像转json输出 @RequestBody:将请求参数转 java对象
@RequestMapping(value="/jsonRequest")
public @ResponseBody ItemsCustom jsonRequest(@RequestBody ItemsCustom itemsCustom) throws Exception{
return itemsCustom;
}
//RestFul 风格 编程 /restFulRequest/{id}:表示将这个位置的参数传到 @PathVariable 指定的名称中
@RequestMapping(value="/restFulRequest/{id}")
public @ResponseBody ItemsCustom restFulRequest(@PathVariable("id") Integer id) throws Exception{
ItemsCustom itemsCustom=itemsService.findItemsById(id);
return itemsCustom;
}
}

关于使用SpringMVC如何实现整合mybatis就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享标题:使用SpringMVC如何实现整合mybatis
文章网址:http://pwwzsj.com/article/gcpcje.html