前兩篇文章介紹了springboot是什麼東西,以及默認啓動跟自定義配置,這一篇就開始正式的跟springboot開發項目使用相關了。
衆所周知咱們一個項目啓動後,分析好需求之後就開始作數據庫設計,數據庫設計好了,程序就要開始操做數據庫進行程序開發了,根據前兩篇文章搭建好了springboot的開發項目,配置好了一些簡單配置,而後跟着我學習一下springboot配置mybatis操做數據庫吧!java
引入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>
在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
在啓動類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);
}
}
在resources資源目錄下創建mapper文件夾用來存放mybatis的mapper文件sql
測試數據庫
數據庫新建一個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數據庫根據用戶名讀取用戶信息的例子完畢!