如何用IDEA搭建Springboot spring MVC Mybatis集成环境

1、首先通过IDEA新建一个工程,选择Spring Initialize,下一步,再勾选web ,Mybatis等最后完成

如何用IDEA搭建Springboot spring MVC Mybatis集成环境_第1张图片
2、其中pom.xml内容的代码如下


   4.0.0

   com.example
   demo
   0.0.1-SNAPSHOT
   jar

   demo
   Demo project for Spring Boot

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

   
      UTF-8
      UTF-8
      1.8
   

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

      
         com.oracle
         ojdbc6
         11.2.0.3
      

      
         org.springframework.boot
         spring-boot-starter-test
         test
      
   

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


3、application.properties内容如下:
spring.datasource.username=myapp
spring.datasource.password=myapp
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl

mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.entity
4、main方法启动类的代码如下:
package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan("com.example.dao")
@SpringBootApplication(scanBasePackages = {"com.example"})
public class DemoApplication {

   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}
需要注意的是如果在启动类不加scanBasePackages,则Spring 容器默认只扫描启动类所在包及其子包中的类并识别为Spring bean。如果需要扫描其他非启动类所在的包及子包的组件,需要手动指定包的路径。 scanBasePackages = {"com.example","com.myproject"}
5、其他类中正常写即可,比如Controller代码如下 :
package com.example.controller;

import com.example.service.UserService;
import org.apache.ibatis.session.SqlSessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.sql.DataSource;

@RestController
public class UserController {

    private static final Logger logger = LoggerFactory.getLogger(UserController.class);

    @Autowired
    private UserService userService;

    @Autowired
    private DataSource dataSource;

    @Autowired
    private SqlSessionFactory sqlSessionFactory;

    @RequestMapping("/index/{userName}")
    public String getUser(@PathVariable("userName") String userName) {
        System.out.println("userName:" + userName);
        System.out.println(userService.getUserList(userName));
        return "success";
    }

}
6、dao接口代码如下:
package com.example.dao;

import com.example.entity.User;

import java.util.List;

public interface UserMapper {

    List getUserList(String userName);

}

7、实体类代码如下:
package com.example.entity;

import java.io.Serializable;
import java.math.BigDecimal;

public class User implements Serializable {

    private static final long serialVersionUID = -2248190721476487645L;

    private String userName;

    private String userPassword;

    private BigDecimal age;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserPassword() {
        return userPassword;
    }

    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }

    public BigDecimal getAge() {
        return age;
    }

    public void setAge(BigDecimal age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "userName='" + userName + '\'' +
                ", userPassword='" + userPassword + '\'' +
                ", age=" + age +
                '}';
    }
}
8、业务逻辑类代码如下:
package com.example.service;

import com.example.dao.UserMapper;
import com.example.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public List getUserList(String userName) {
        return userMapper.getUserList(userName);
    }
}
9、mapper映射文件代码如下:


    

    
        
        
        
    
10、数据库表结构如下(这里选用的是Oracle数据库):
create table user_info(
user_name varchar2(20) primary key,
user_password varchar2(20),
age int
)
insert all into user_info values('admin','123',23)
into user_info values('admin1','123',23)
into user_info values('admin2','123',23)
select 1 from dual;
--这里只是为了像MySQL那样,能一次性插入多条记录。所以采用了这种语法,其实也没方便多少。


你可能感兴趣的:(SpringMVC,SpringBoot,Mybatis)