SpringBoot 整合 Mybatis 和 Mysql (詳細版)


結構如下

 

1、引入相關依賴

<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<!--druid連接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>

2、配置application.yml文件

server:
  port: 80
  servlet:
    context-path:

spring:
  # 配置文件選擇(dev,pro)
  profiles:
    active: dev

  # 國際化(消息源自動配置,springboot默認找出messages)
  messages:
     basename: i18n.messages
  datasource:
  driver-class-name: com.mysql.jdbc.Driver
  url: jdbc:mysql://127.0.0.1:3306/fallenfairy?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
   username: root
  password: admin
  type: com.alibaba.druid.pool.DruidDataSource
 
 




mybatis:
  #  mapper文件
mapper-locations: mapper/*/*Mapper.xml
# 實體類
type-aliases-package: com.fallenfairy.*.pojo
 
        

3、啟動類添加@MapperScan注解

@SpringBootApplication
@MapperScan("com.fallenfairy.*.dao")
public class FallenfairyApplication {
    public static void main(String[] args) {
        SpringApplication.run(FallenfairyApplication.class, args);
    }
}

6、編寫mapper.xml文件

<?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.example.demo.dao.UserDAO">
    <!--id對應UserDAO接口方法名-->
    <!--parameterType對應參數類型-->
    <!--resultType對應返回值類型-->
    <!--注意sql語句字段和數據庫對應-->
    <select id="getUserById" parameterType="int" resultType="com.example.demo.pojo.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
</mapper>

 

 
        

7、編寫controller測試

/**
 * Copyright (C), 2017-2018, XXX有限公司
 * FileName: UserController
 * Author:   丶Zh1Guo
 * Date:     2018/11/21 16:51
 * Description: user控制器
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名
 * 〈一句話功能簡述〉<br> 
 * 〈user控制器〉
 *
 * @author 丶Zh1Guo
 * @create 2018/11/21
 * @since 1.0.0
 */
@RestController
public class UserController {
    @Autowired
    private UserDAO userDAO;
  // url: xxx/user?id=1 @RequestMapping(
"/user") public User getUser(@RequestParam("id") int id){ return userDAO.getUserById(id); }   // url: xxx/user/1 @RequestMapping("/user/{id}") public User getUser2(@PathVariable int id){ return userDAO.getUserById(id); } }

8、啟動服務測試

測試第一種@RequestParam("id") int id

 

測試第二種@PathVariable int id

 

 

 若訪問報錯如下:

mysql運行報The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone

設置數據庫時區為東八區即可

設置數據庫連接:(增加:&serverTimezone=GMT%2B8)

driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/flexo?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
username: root
password: admin

或修改數據時區:

 

 

ok

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM