Spring Boot統合Mybatis(手順説明)付ソースコード

14297 ワード

転載は出典を明記してください.http://blog.csdn.net/a318199328/article/details/52248552
直接本題に入ります!!!
新しいMavenプロジェクト
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第1张图片 Spring Boot 整合Mybatis(步骤讲解) 附源码_第2张图片
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第3张图片 Spring Boot 整合Mybatis(步骤讲解) 附源码_第4张图片
新規プロジェクト後のディレクトリ構造
 
 
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第5张图片
 
 
新規ディレクトリ構造src/main/resources
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第6张图片 Spring Boot 整合Mybatis(步骤讲解) 附源码_第7张图片 Spring Boot 整合Mybatis(步骤讲解) 附源码_第8张图片
新規ディレクトリ構造の構造表示
 
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第9张图片
 
 
新規パッケージ構造
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第10张图片
 
元pom.xml追加

UTF-8
3.2.9.RELEASE
2.4.4
1.8

 

org.springframework.boot
spring-boot-starter-parent
1.2.5.RELEASE


 


org.springframework.boot
spring-boot-starter-web


org.springframework.boot
spring-boot-starter-thymeleaf


org.springframework.boot
spring-boot-starter-jdbc


org.springframework.boot
spring-boot-starter-actuator

 

org.mybatis
mybatis-spring
1.2.2


org.mybatis
mybatis
3.2.8


org.apache.tomcat
tomcat-jdbc


mysql
mysql-connector-java

 

com.alibaba
fastjson
1.1.43


com.mangofactory
swagger-springmvc
0.9.5

 

com.fasterxml.jackson.core
jackson-annotations


com.fasterxml.jackson.core
jackson-databind


com.fasterxml.jackson.core
jackson-core


 
 



org.springframework.boot
spring-boot-maven-plugin



 
コンパイルを追加するとエラーが発生する可能性があります
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第11张图片
ソリューション:右クリックしたアイテムからMavenオプションを見つけ、「Upate Project」を選択します.
 
Javaファイルの作成
一.com.cn.domainパッケージでのUserエンティティークラスの作成
public class User {
    private String name;
    private Integer age;
    private String password;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public Integer getAge() {
        return age;
    }
 
    public void setAge(Integer age) {
        this.age = age;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
}
 

 
二.com.cn.mapperパッケージでのUserMapperクラスの作成
import com.cn.domain.User;
 
public interface UserMapper {
    public User findUserInfo(String id);
}

 
三.src/main/resourcesパッケージにUserMapperを作成する.xml



 
  
 

 
四.com.cn.サービスパッケージでのUserServiceの作成
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cn.domain.User;
import com.cn.mapper.UserMapper;
 
@Service
public class UserService {
 
    @Autowired
    private UserMapper userMapper;
 
    public User getUserInfo(String id){
        User user=userMapper.findUserInfo(id);
        //User user=null;
        return user;
    }
 
}

 
 
五.com.cn.ControllerパッケージでのUserControllerクラスの作成(データベース接続)
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.cn.domain.User;
import com.cn.service.UserService;
 
@Controller
public class UserController {
 
    private Logger logger = Logger.getLogger(UserController.class);
 
    @Autowired
    private UserService userService;
 
    @RequestMapping("/getUserInfo")
    @ResponseBody
    public User getUserInfo(@RequestParam("id") String id) {
    	System.out.println(id);
        User user = userService.getUserInfo(id);
        if(user!=null){
            System.out.println("user.getName():"+user.getName());
            logger.info("user.getAge():"+user.getAge());
        }
        return user;
    }
}

 
六.com.cn.servoceパッケージにHelloControllerクラスを作成する
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
 
@Controller
public class HelloController {
 
    @RequestMapping("/hello")
    public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
        model.addAttribute("name", name);
        return "hello";
    }
    
}

 
七.com.cnパッケージにアプリケーションクラスを作成する(実行クラス)
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.log4j.Logger;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
 
import javax.sql.DataSource;
 
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan
@MapperScan("com.cn.mapper")//  mapper    
public class Application {
    private static Logger logger = Logger.getLogger(Application.class);
 
    @Bean
    @ConfigurationProperties(prefix="spring.datasource")//         
    public DataSource dataSource() {
        return new org.apache.tomcat.jdbc.pool.DataSource();
    }
 
    @Bean
    public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
 
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource());
 
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
 
        sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));//  Mapper.xml
 
        return sqlSessionFactoryBean.getObject();
    }
 
    @Bean
    public PlatformTransactionManager transactionManager() {
        return new DataSourceTransactionManager(dataSource());
    }
 
 
    /**
     * Start
     */
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        logger.info("SpringBoot Start Success");
    }
 
}

 
八.src/main/resourcesでアプリケーションを作成する.properties(データベース構成)
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#行の後ろにスペースが含まれていないことを保証します.そうしないと、エラーが発生します.
 
九.src/main/resourcesでlog 4 jを作成する.properties(必要に応じて構成)
#config root logger
log4j.rootLogger = INFO,system.out
log4j.appender.system.out=org.apache.log4j.ConsoleAppender
log4j.appender.system.out.layout=org.apache.log4j.PatternLayout
log4j.appender.system.out.layout.ConversionPattern=[Log] %5p[%F:%L]:%m%n
 
#config this Project.file logger
log4j.logger.thisProject.file=INFO,thisProject.file.out
log4j.appender.thisProject.file.out=org.apache.log4j.DailyRollingFileAppender
log4j.appender.thisProject.file.out.File=logContentFile.log
log4j.appender.thisProject.file.out.layout=org.apache.log4j.PatternLayout
 

十.src/main/resourcesでtemplatesを作成し(必須)ページディレクトリに戻り、templatesの下でhelloを作成する.html Getting Started: Serving Web Content
 
テスト:Appliactionを実行します.JAva(Run As-->Java Appliaction)を右クリックし、エラーを報告せずにブラウザで入力します.
http://localhost:8080/hello
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第12张图片
http://localhost:8080/hello?name=xxx
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第13张图片
http://localhost:8080/getUserInfo?id=1
  Spring Boot 整合Mybatis(步骤讲解) 附源码_第14张图片
インスタンスのダウンロード:http://download.csdn.net/detail/a318199328/9607376
注意:MyBatisは半自動のORMフレームワークですので、主な作業はMappingマッピングファイルの構成ですが、手書きマッピングファイルはエラーが発生しやすいため、MyBatisジェネレータを使用してエンティティクラス、DAOインタフェース、MappingマッピングファイルEclipse MyBatis Generatorプラグイン、使用説明を自動的に生成できます.