前言

前两篇文章介绍了springboot是什么东西,以及默认启动跟自定义配置,这一篇就开始正式的跟springboot开发项目使用相关了。 
众所周知我们一个项目启动后,分析好需求以后就开始做数据库设计,数据库设计好了,程序就要开始操作数据库进行程序开发了,根据前两篇文章搭建好了springboot的开发项目,配置好了一些简单配置,然后跟着我学习一下springboot配置mybatis操作数据库吧!

配置

  1. 引入pom

 <!-- Spring Boot Mybatis 依赖 -->
   <dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>1.2.0</version>
   </dependency>

   <!-- MySQL 连接驱动依赖 -->
   <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.41</version>
  </dependency>
  1. 在application.properties或者对应环境的application配置文件里配置数据库链接信息

##数据库
spring.datasource.url=jdbc:mysql://localhost:3306/wishpay?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
#重连
spring.datasource.time-between-eviction-runs-millis=1800000
spring.datasource.num-tests-per-eviction-run=3
#最小生命时间
spring.datasource.min-evictable-idle-time-millis=1800000
spring.datasource.validation-query=SELECT 1
##mybatis相关配置
mybatis.mapper-locations=classpath:mapper/*.xml
#mybatis.type-aliases-package=com.wish.pay.web.dao
mybatis.configuration.mapUnderscoreToCamelCase=true
mybatis.configuration.useColumnLabel=true

  1. 在启动类Application里加入MapperScan用来指定对应的mapperDao接口

@SpringBootApplication
@ComponentScan("com.wish.action")
//用于扫描dao包下的mapper接口文件
@MapperScan("com.wish.action.dao")
public class Application {
   public static void main(String[] args) {
       SpringApplication.run(Application.class, args);
   }
}
  1. 在resources资源目录下建立mapper文件夹用来存放mybatis的mapper文件

  2. 测试

  • 数据库新建一个User表有两个字段id与name,新建User类,有id与name两个属性

  • 新建UserMapper.xml文件放入resources的mapper文件夹下

    <mapper namespace="org.spring.springboot.dao.CityDao">
    <resultMap id="BaseResultMap" type="com.wish.action.doman.User">
       <result column="id" property="id" />
       <result column="name" property="name" />
    </resultMap>

    <parameterMap id="User" type="com.wish.action.doman.User"/>

    <sql id="Base_Column_List">
       id, name
    </sql>
    <select id="findByName" resultMap="BaseResultMap" parameterType="java.lang.String">
       select
       <include refid="Base_Column_List" />
       from user
       where name = #{name}
    </select>
    </mapper>
  • 在dao包下建立UserDao类

    /**
    * User DAO 接口类
    */

    public interface UserDao {
    /**
    * 根据用户名字,查询用户信息
    * @param name 用户名
    */

    User findByName(@Param("name") String name);
    }
  • 在service新建UserServer接口定义findUserByName方法,在实现类UserServiceImpl里实现以下方法

    //实现里进行实现
    @Autowired
    private UserDao userDao;
     /**
    * 根据用户姓名查询用户信息
    * @param name
    */

    public User findUserByName(String name);
       return userDao.findByName(name);
    }
  • 在controller包里面新建UserRestController 类

    @RestController
    public class UserRestController {
       @Autowired
       private UserService userService;
       @RequestMapping(value = "/api/user", method = RequestMethod.GET)
       public User Test(@RequestParam(value = "name", required = true) String name) {
           return userService.findUserByName(name);
       }
    }
  • 通过访问,发现从数据库可以查询到用户信息,至此springboot配置mybatis信息并且编写一个从mysql数据库根据用户名读取用户信息的例子完毕!