spring整合mybatis逆向工程+PageHelperプラグイン


元のmybatisはsql文を手書きで書く必要があります.プロジェクトのデータベース表が多くなったら、sql文を書いてソフトに書くことができます.mybatis公式はmybatis-generator:mybatis逆プロジェクトコード生成ツールを提供しています.mybatis単表操作を簡略化します.
PageHelper 3.いくつかのバージョンの時に、それを使って逆工程に対して作成されたクエリ方法を改ページした時に失効する場合があります.PageHelper 4から、自分で測ってmybatisと逆工程に生成できる方法は完璧に互換性があります.今日はspring+mybatis+PageHelperの一つの統合の小さい事例を共有します.
第一歩:mavenプロジェクトを作成し、pom.xmlを作成する
 
  
	
		4.12
		4.3.10.RELEASE
		
		3.4.1
		
		1.3.0
		5.1.32
		1.6.4
		
		2.8.8
		
		1.0.9
		4.3.5
		1.2
		2.5
		2.0
		2.5
		3.3.2
		1.3.2
		3.3
		
		4.1.0
		
		0.9.1
		1.3.1
		2.7.2
		4.10.3
		2.5.3
		3.4.7
		0.1
		5.11.2
		2.3.23
		2.2.2
	
	
	
		
		
			joda-time
			joda-time
			${joda-time.version}
		
		
		
			org.apache.commons
			commons-lang3
			${commons-lang3.version}
		
		
			org.apache.commons
			commons-io
			${commons-io.version}
		
		
			commons-net
			commons-net
			${commons-net.version}
		
		
		
			com.fasterxml.jackson.core
			jackson-databind
			${jackson.version}
		
		
		
			org.apache.httpcomponents
			httpclient
			${httpclient.version}
		
		
		
			org.quartz-scheduler
			quartz
			${quartz.version}
		
		
		
			junit
			junit
			${junit.version}
			test
		
		
		
		
			org.mybatis
			mybatis
			${mybatis.version}
		
		
			org.mybatis
			mybatis-spring
			${mybatis.spring.version}
		
		
		
			com.github.pagehelper
			pagehelper
			${pagehelper.version}
		
		
		
			mysql
			mysql-connector-java
			${mysql.version}
		
		
		
			com.alibaba
			druid
			${druid.version}
		
		
		
			org.springframework
			spring-context
			${spring.version}
		
		
			org.springframework
			spring-beans
			${spring.version}
		
		
			org.springframework
			spring-webmvc
			${spring.version}
		
		
			org.springframework
			spring-jdbc
			${spring.version}
		
		
			org.springframework
			spring-aspects
			${spring.version}
		
		
			org.springframework
			spring-jms
			${spring.version}
		
		
			org.springframework
			spring-context-support
			${spring.version}
		
		
		  
            org.springframework  
            spring-test  
            ${spring.version}  
            provided  
		
		
		
		
            org.apache.logging.log4j
            log4j-api
            2.7
        
        
            org.apache.logging.log4j
            log4j-core
            2.7
        
		
             org.apache.logging.log4j
             log4j-web
             2.7
        
		
		
			jstl
			jstl
			${jstl.version}
		
		
			javax.servlet
			servlet-api
			${servlet-api.version}
			provided
		
		
			javax.servlet
			jsp-api
			${jsp-api.version}
			provided
		
		
		
			commons-fileupload
			commons-fileupload
			${commons-fileupload.version}
		
		
		
			redis.clients
			jedis
			${jedis.version}
		
		
		
			org.apache.solr
			solr-solrj
			${solrj.version}
		
		
		
			com.alibaba
			dubbo
			${dubbo.version}
		
		
			org.apache.zookeeper
			zookeeper
			${zookeeper.version}
		
		
			com.github.sgroschupf
			zkclient
			${zkclient.version}
		
		
			org.apache.activemq
			activemq-all
			${activemq.version}
		
		
			org.freemarker
			freemarker
			${freemarker.version}
		
	
  	
  	
  		
			
			
				org.apache.maven.plugins
				maven-resources-plugin
				2.7
				
					UTF-8
				
			
			
			
				org.apache.maven.plugins
				maven-compiler-plugin
				3.2
				
					1.7
					1.7
					UTF-8
				
			
			
			
				org.apache.tomcat.maven
				tomcat7-maven-plugin
				
					8080
					/
				
			
		
  	
第二ステップ:mybatis逆工程ツールを使ってコードを生成する:
mybatis-generatorダウンロード住所:逆工程ツール
このツールは私が共有したものではありません.使ったことがありません.使えないなら、コメントエリアで教えてください.
第三ステップ:mybatis逆工程で発生したコードを私達のプロジェクトにコピーします.
ステップ4:プロファイル関連:
4.1プロファイル4 j 2.xmlファイル
  
  
    
        
          D:/log4j2/mybatis/genertor/logs/
          error
        
    
    
        
      	
            
                
            
    	
            
                
                
              	  
                    
                  
                    
              
                
                
            
          
        
    
        
            
            
            
            
            
            
            
            
            
            
            
          
                
                
            
    
          
              
                
            
        
      
   
4.2 spring関連配置ファイル
appication Contect-dao.xml

	
	
	
		
		
		
		
		
		
	
	
	
		
		
		
		
		
		
	
	
		
	
appication-service.xml

	
スプリングmvc.xml

	
	
	
	
	
	
	
	
	
	
	
	
		
		
		
		
	
	
	
	
注意:ここでは、読み取りや後期拡張のために、構成ファイルをモジュール分割して分割しています.また、正式なプロジェクトは、トランザクションに関する構成を加えて、ここではプレゼンテーションをしません.
4.3 mybatis関連配置
Sql MapConfig.xml



	
		
	
	
		
			        
        	
		
	

4.4データベースリンクのpropertiesファイル
 db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/stu?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
4.5 web.xmlの配置


  Mybatis-generator
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  	
  	
  
	  characterEncoding
	  org.springframework.web.filter.CharacterEncodingFilter
  
	  encoding
	  UTF-8
  
  
  
  
	  characterEncoding
	  /*
  
  
   
     
        org.apache.logging.log4j.web.Log4jServletContextListener
     
     
         log4jServletFilter
        org.apache.logging.log4j.web.Log4jServletFilter
     
     
         log4jServletFilter
         /*
        REQUEST
         FORWARD
         INCLUDE
         ERROR
     
     
     
       
       
        httpPutFormFilter  
        org.springframework.web.filter.HttpPutFormContentFilter  
      
      
        httpPutFormFilter  
        /*
    
	 
	
  
  
 	 org.springframework.web.context.ContextLoaderListener
  
  
	  contextConfigLocation
	  classpath:spring/applicationContext*.xml
  
  
  
  
	  springmvc
	  org.springframework.web.servlet.DispatcherServlet
	  1
	   
		   contextConfigLocation
		   classpath:spring/springmvc.xml   
	   
  
  
  
  	springmvc
  	
  	/
  
  
第五ステップ:service層を作成し、Mapperインターフェースを参照する.
インターフェース:
package com.stu.service;

import java.util.List;

import com.stu.pojo.TUser;

public interface UserService {
	
	public List getUserInfo( String keywords, Integer page, Integer size);
	
}
実装クラス:
package com.stu.service.impl;

import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.stu.dao.TUserMapper;
import com.stu.pojo.TUser;
import com.stu.pojo.TUserExample;
import com.stu.service.UserService;
@Service
public class UserServiceImpl implements UserService {
	@Autowired
	private TUserMapper userMapper;

	@Override
	public List getUserInfo(String keywords, Integer page, Integer size) {
		PageHelper.startPage(page, size);
		TUserExample example = new TUserExample();
		if (!StringUtils.isBlank(keywords)) {
			example.createCriteria().andUsernameLike(keywords + "%");
		}
		List list = userMapper.selectByExample(example);
		PageInfo info = new PageInfo(list);
		System.out.println("  : "  + info.getPageNum());
		System.out.println("    : "  + info.getSize());
		System.out.println("   : "  + info.getPages());
		System.out.println("    : "  + info.getTotal());
		return list;
	}

}
注意:keywordsは照会条件であり、対応テーブルフィールド-->username
第六ステップ:Controllerを作成する
package com.stu.api.controller;

import java.io.UnsupportedEncodingException;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.stu.pojo.TUser;
import com.stu.service.UserService;

@RestController
@RequestMapping("/api/v2/users")
public class UserController {
	@Resource
	private UserService userService;
	
	@GetMapping("/")
	public List getUserInfo( String keywords ,Integer page, Integer size){
		System.out.println("page : " + page);
		System.out.println("size : " + size);
		if(keywords != null){
			try {
				keywords=new String(keywords.getBytes("ISO-8859-1"),"UTF-8");
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
		}
		List user = userService.getUserInfo(keywords , page, size);
		return user;
	}
	
}
第七ステップ:プロジェクトの実行、テスト
1、tomcat 7を使用して、run運転項目
2、ブラウザに入力:http://localhost:8080/api/v2/users/?keyword=張三&page=1&size=2
データの戻り成功:
{"data":[{"id":1,"username":"  ","password":null,"state":0,"isdel":false,"addTime":1487644664000,"money":null,"leftMoney":22.1,"remark":null},{"id":2,"username":"  ","password":null,"state":0,"isdel":false,"addTime":1487644811000,"money":null,"leftMoney":22.1,"remark":null}],"meta":{"respCode":0,"respMsg":null,"detail":"OK","url":null},"pagination":{"page":1,"size":2,"totalPage":58,"totalCode":116}}