springboot基礎三:mybatis操做數據庫

前言

前兩篇文章介紹了springboot是什麼東西,以及默認啓動跟自定義配置,這一篇就開始正式的跟springboot開發項目使用相關了。 
衆所周知咱們一個項目啓動後,分析好需求之後就開始作數據庫設計,數據庫設計好了,程序就要開始操做數據庫進行程序開發了,根據前兩篇文章搭建好了springboot的開發項目,配置好了一些簡單配置,而後跟着我學習一下springboot配置mybatis操做數據庫吧!java

配置

  1. 引入pommysql

<!-- 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配置文件裏配置數據庫連接信息web

##數據庫
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接口spring

@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文件sql

  2. 測試數據庫

  • 數據庫新建一個User表有兩個字段id與name,新建User類,有id與name兩個屬性api

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

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

    /**
    * User DAO 接口類
    */

    public interface UserDao {
    /**
    * 根據用戶名字,查詢用戶信息
    * @param name 用戶名
    */

    User findByName(@Param("name") String name);
    }
  • 在service新建UserServer接口定義findUserByName方法,在實現類UserServiceImpl裏實現如下方法app

    //實現裏進行實現
    @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數據庫根據用戶名讀取用戶信息的例子完畢!

相關文章
相關標籤/搜索