springboot+mybatis框架搭建

第一步:创建一个spring-initialiizer,选择一下三种依赖

web创建完成后,pom文件如下:

    org.springframework.boot

    spring-boot-starter-parent

    2.2.0.RELEASE

   

com.example

demo

0.0.1-SNAPSHOT

demo

Demo project for Spring Boot

    1.8

        org.springframework.boot

        spring-boot-starter-web

        org.mybatis.spring.boot

        mybatis-spring-boot-starter

        2.1.1

        mysql

        mysql-connector-java

        runtime

        org.springframework.boot

        spring-boot-starter-test

        test

                org.junit.vintage

                junit-vintage-engine

            org.springframework.boot

            spring-boot-maven-plugin

项目继承spring-boot-parent后,会对pom有一个默认配置,并有统一的版本管理,因此后面配置的依赖可以不用配置版本,使用spring-boot-dependencies中的默认版本。spring-boot-starter-webmysql-connector-java,mybatis-spring-boot-starter,spring-boot-starter-test,以上四个依赖便可以开发一个前后端分离的java后台。

第二步:添加类包


第三步:持久层开发

编写domain层实体类,dao层接口,和mapper.xml文件,在dao层接口需要标注@Mapper注解,使得mybatis能够找到mapper接口创建动态代理实现类并注入到spring中。

此时需要在application.properties中配置数据源和mybatis


spring.datasource.name=travel

spring.datasource.url=jdbc:mysql://localhost:3306/travel?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC

spring.datasource.username=root

spring.datasource.password=123456

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

mybatis.mapper-locations=classpath:mapper/*.xml

mybatis.type-aliases-package=com.example.myboot.domain

第四步:服务层开发

编写service业务逻辑,若需要使用事务,只需要在application类上标注@EnableTransactionManagement,并在业务方法上标注@Transactional即可实现。

第五步:展现层开发

直接编写Controller,标ii注RestController便可返回json格式数据。

第六步:业务层测试,在test包下,创建的类只要标注@SpringbootTest,便可使用@Test展开测试。

第七步(补充):在application.properties中配置编码格式


spring.http.encoding.force=true

spring.http.encoding.charset=UTF-8

spring.http.encoding.enabled=true

server.tomcat.uri-encoding=UTF-8

搭建过程中遇到的坑:

1.service注入报错,对于使用@Mapper注入的dao接口,idea会提示找不到bean,但实际运行没有任何问题。

2.在ssm中配置数据源时是在xml环境下,因此需要使用&,而在springboot中使用&即可

3.在application的java类中使用@MapperScan会报错,bug未知,此处挖个坑。


对比ssm框架搭建过程,可以看出:

1.springboot将pom依赖进行大量整合,依赖书写大量减少。

2.spring通过自动配置,注解,javaConfig和properties文件替代了ssm框架中spring容器和web容器xml文件的大量编写工作,使用户可以专注业务开发。

你可能感兴趣的:(springboot+mybatis框架搭建)