SpringBoot整合SpringMVC+MyBatis——入门篇

SpringBoot整合SpringMVC+MyBatis

 

使用SpringBoot+SpringMVC+MyBatis整合

实现一个对数据库中的user表的CRUD的操作



先创建表USER
CREATE TABLE USER (
      id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
      NAME VARCHAR(50) DEFAULT NULL, 
      sex VARCHAR(4) DEFAULT NULL  
)ENGINE=INNODB DEFAULT CHARSET=utf8;

 




第一步:创建maven工程:



 
第二步:pom.xml文件

需要依赖:
Mybatis 启动器, mysql 数据库驱动, 数据库连接池

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--创建工程时依赖的springboot父工程 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.12.RELEASE</version>
    </parent>
    <groupId>com.study7</groupId>
    <artifactId>com.study7</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <!-- 指定jdk版本 -->
    <properties>
        <java.version>1.7</java.version>
        <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
        <thymeleaf-layout-dialect.version>2.0.4</thymeleaf-layout-dialect.version>
    </properties>
    
    <dependencies>
        <!-- 引入springboot启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 引入thymeleaf相关jar -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        
        <!-- Mybatis启动器 -->
         <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>
        <!-- mysql数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- 数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.11</version>
        </dependency>
        
        <!-- 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.1.2</version>
        </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-joda </artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-parameter-names</artifactId>
        </dependency>
    </dependencies>
    
    
     <build>
        <plugins>
           <!--  <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin> -->
            <!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin </artifactId>
                <version>1.3.2</version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
</project>

User对象:

package com.study7.pojo;
public class User {
    private Integer id;
    private String name;
    private String sex;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    
}


第三步:application.properties文件(classpath下创建)

在/com.study7/src/main/resources/目录下创建application.properties
#连接mysql相关配置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#指定pojo别名映射属性路径
mybatis.type-aliases-package=com.study7.pojo

第四步:创建一个mapper文件目录,保存mapper文件及maaper.xml文件

UserMapper.xml  ( namespace:命名空间要指定映射的Mapper路径)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.study7.mapper.UserMapper">
  <insert  id="insertUserparameterType="user">
     insert into user (name,sex) 
       values(
           #{name},
           #{sex}
       )
  </insert>
</mapper>

UserMapper接口:
注意:mybatis中mapper接口要求:
1.接口mapper名要和mapper.xml保持一致
2.方法名要和mapper.xml中的sql的id保持一致
3.mapper要与mapper.xml存放目录保持一致

package com.study7.mapper;
import com.study7.pojo.User;
/**
 * User Mapper表映射
 */
public interface UserMapper {
   public void insertUser(User user);
}


第五步:编写UserService接口及实现类

UserService :

package com.study7.service;
import com.study7.pojo.User;
public interface UserService {
   public void addUser(User user);
}


UserServiceImpl:
 
  
  1. package com.study7.service.impl;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.boot.autoconfigure.AutoConfigureOrder;
  4. import org.springframework.stereotype.Service;
  5. import org.springframework.transaction.annotation.Transactional;
  6. import com.study7.mapper.UserMapper;
  7. import com.study7.pojo.User;
  8. import com.study7.service.UserService;
  9. @Service
  10. @Transactional
  11. publicclassUserServiceImplimplementsUserService{
  12. //mapper表映射
  13. @Autowired
  14. privateUserMapper userMapper;
  15. @Override
  16. publicvoid addUser(User user){
  17. this.userMapper.insertUser(user);
  18. }
  19. }


第六步:编写UserController,根据需求先请求一个页面让用户输入User信息,
提交完成,插入数据到数据库,跳转成功页面提示。

UserController:
 
  
  1. package com.study7.controller;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.PathVariable;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import com.study7.pojo.User;
  7. import com.study7.service.UserService;
  8. @Controller
  9. @RequestMapping("/user")
  10. publicclassUserController{
  11. @Autowired
  12. privateUserService userService;
  13. /**
  14. * 页面跳转
  15. * @param page
  16. * @return
  17. */
  18. @RequestMapping("/{page}")
  19. publicString showPage(@PathVariableString page){
  20. return page;
  21. }
  22. @RequestMapping("/addUser")
  23. publicString addUser(User user){
  24. this.userService.addUser(user);
  25. return"success";
  26. }
  27. }

第七步:使用thymeleaf编写用户输入页面input.html及提交成功返回页面success.html

注意:静态资源要在classpath目录下创建一个templates目录存放


input.html

<!DOCTYPE html>
<html>
<meta charset="utf-8"/>
<title>添加用户</title>
<body>
     <form  th:action="@{/user/addUser}" method="post">
                     用户姓名:<input type="text" name="name" />
                    用户性别:<input type="text" name="sex" />
       <input type="submitvalue="提交"/>
   </form>  
</body>
</html>

success.html

<?xml version="1.0" encoding="UTF-8"?>
<html>
<meta charset="utf-8"/>
<title>添加用户成功页面</title>
<body>
   用户添加成功
</body>
</html>

第八步:编写启动类

注意:启动类可以在controller相同目录下,也可以在上层目录下,
          不能在同级目录下。
 
  
  1. package com.study7;
  2. import org.mybatis.spring.annotation.MapperScan;
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. @SpringBootApplication
  6. @MapperScan("com.study7.mapper")//扫描mapper:用于扫描mybatis的mapper接口生成代理对象
  7. publicclassApp{
  8. publicstaticvoid main(String[] args){
  9. SpringApplication.run(App.class, args);
  10. }
  11. }


第九步:启动测试




 

 
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值