前两篇文章介绍了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数据库根据用户名读取用户信息的例子完毕!