Spring Boot之整合mybatis

在进行整合之前,小编先提醒大家一下,一定要注意你所使用的jar包的版本!

注意jar包版本!

注意jar包版本!

注意jar包版本!

重要的事情说三遍,这个真的很重要,小编就在这个地方栽了很多跟头。

好了,废话不多说,下面进入正题:

第一步:配置pom.xml文件

<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>

 

  <groupId>com.steven</groupId>

  <artifactId>spring-boot-mybatis</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <packaging>jar</packaging>

 

  <name>spring-boot-mybatis</name>

  <url>http://maven.apache.org</url>

 

  <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>1.4.1.RELEASE</version>

  </parent>

 

  <properties>

      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

      <!-- 指定jdk版本 -->

      <java.version>1.8</java.version>

  </properties>

 

  <dependencies>

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <scope>test</scope>

        </dependency>

   

    <!-- spring-boot-starter-web:MVC,AOP的依赖包  -->

    <dependency>

      <groupId>org.springframework.boot</groupId>

      <artifactId>spring-boot-starter-web</artifactId>

    </dependency>

   

    <!-- mysql驱动依赖 -->

    <dependency>

      <groupId>mysql</groupId>

      <artifactId>mysql-connector-java</artifactId>

    </dependency>

   

    <!-- mybatis依赖 -->

    <dependency>

      <groupId>org.mybatis.spring.boot</groupId>

      <artifactId>mybatis-spring-boot-starter</artifactId>

      <version>1.3.0</version>

    </dependency>

   

    <!-- 分页助手,如果需要的话,可以引入该依赖 -->

    <dependency>

      <groupId>com.github.pagehelper</groupId>

      <artifactId>pagehelper</artifactId>

      <version>4.1.0</version>

       </dependency>

  </dependencies>

</project>

第二步:在src/main/resources文件夹下创建一个application.properties文件,配置数据库信息

spring.datasource.url=jdbc:mysql://localhost:3306/springboot

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

第三步:编写实体类Demo.java

public class Demo {

 

       private long id;

       private String name;

       public long getId() {

              return id;

       }

       public void setId(long id) {

              this.id = id;

       }

       public String getName() {

              return name;

       }

       public void setName(String name) {

              this.name = name;

       }

}

第四步:编写Controller类

@RestController

public class DemoController {

 

       @Autowired

       private DemoService demoService;

      

       @RequestMapping("/likeName")

       public List<Demo> likeName(String name) {

              PageHelper.startPage(1, 2);  //设置分页信息

              return demoService.likeName(name);

       }

      

       @RequestMapping("/save")

       public String save(Demo demo) {

              demoService.save(demo);

              return "保存成功";

       }

}

第五步:编写Service层代码

@Service

public class DemoService {

 

       @Autowired

       private DemoMapper demoMapper;

      

       public List<Demo> likeName(String name) {

              return demoMapper.likeName(name);

       }

      

       @Transactional

       public void save(Demo demo) {

              demoMapper.save(demo);

       }

}

这里配置了事务的管理

第六步:编写Mapper类

public interface DemoMapper {

 

       //#{name}:参数占位符

       @Select("select * from Demo where name = #{name}")

       public List<Demo> likeName(String name);

      

       @Select("select * from Demo where id = #{id}")

       public Demo getById(long id);

      

       @Select("select name from Demo where id = #{id}")

       public String getNameById(long id);

      

       @Insert("insert into Demo(name) values(#{name})")

       public void save(Demo demo);

}

第七步:将分页的配置信息注入进去(如果需要的话)

@Configuration

public class MyBatisConfiguration {

    @Bean

    public PageHelper pageHelper() {

       PageHelper pageHelper = new PageHelper();

       Properties p = new Properties();

       p.setProperty("offsetAsPageNum", "true");

       p.setProperty("rowBoundsWithCount", "true");

       p.setProperty("reasonable", "true");

       pageHelper.setProperties(p);

       return pageHelper;

    }

}

第八步:编写启动项

@SpringBootApplication

@MapperScan("com.steven.*") //扫描,该包下相应的class,主要是Mybatis的持久化类。

public class App

{

    public static void main( String[] args )

    {

    SpringApplication.run(App.class, args);

    }

}

这里需要注意一下,要添加@MapperScan()对相应的类进行扫描,主要是扫描持久化类,即Mapper类。

由于没有编写表单,所以在访问的时候,要在地址栏中输入参数:http://localhost:8080/save?name=jack


猜你喜欢

转载自blog.csdn.net/steven_sf/article/details/75644325