spring整合mybatis逆向工程+PageHelperプラグイン
21066 ワード
元のmybatisはsql文を手書きで書く必要があります.プロジェクトのデータベース表が多くなったら、sql文を書いてソフトに書くことができます.mybatis公式はmybatis-generator:mybatis逆プロジェクトコード生成ツールを提供しています.mybatis単表操作を簡略化します.
PageHelper 3.いくつかのバージョンの時に、それを使って逆工程に対して作成されたクエリ方法を改ページした時に失効する場合があります.PageHelper 4から、自分で測ってmybatisと逆工程に生成できる方法は完璧に互換性があります.今日はspring+mybatis+PageHelperの一つの統合の小さい事例を共有します.
第一歩:mavenプロジェクトを作成し、pom.xmlを作成する
mybatis-generatorダウンロード住所:逆工程ツール
このツールは私が共有したものではありません.使ったことがありません.使えないなら、コメントエリアで教えてください.
第三ステップ:mybatis逆工程で発生したコードを私達のプロジェクトにコピーします.
ステップ4:プロファイル関連:
4.1プロファイル4 j 2.xmlファイル
appication Contect-dao.xml
4.3 mybatis関連配置
Sql MapConfig.xml
db.properties
インターフェース:
第六ステップ:Controllerを作成する
1、tomcat 7を使用して、run運転項目
2、ブラウザに入力:http://localhost:8080/api/v2/users/?keyword=張三&page=1&size=2
データの戻り成功:
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}}