第一、SpringBoot项目创建
1.新建springboot项目,使用idea自带的Spring Initializr生成项目
2.输入项目的仓库地址com.spring.xz和项目名,如springboot-mybatis
3.选择模板,只选择Spring Web也可以的
4.完成项目创建
第二、数据表素材准备
1.数据库数据如下
CREATE DATABASE `person_info`;
USE `person_info`;
DROP TABLE IF EXISTS `persons`;
CREATE TABLE `persons` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`uName` varchar(40) DEFAULT NULL COMMENT '姓名',
`birthday` datetime DEFAULT NULL COMMENT '生日',
`gender` varchar(2) DEFAULT NULL COMMENT '1男 0女',
`zhiYe` varchar(2) DEFAULT NULL COMMENT '1程序猿 2攻城狮',
`address` varchar(200) DEFAULT NULL COMMENT '住所',
`phone` varchar(20) DEFAULT NULL COMMENT '手机号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
/*Data for the table `persons` */
insert into `persons`(`id`,`uName`,`birthday`,`gender`,`zhiYe`,`address`,`phone`) values (3,'张三','2017-02-02 00:00:00','1','1','武汉','15912345677'),(4,'李四','2017-02-02 00:00:00','1','1','武汉','15912345666'),(5,'王二麻子','2019-03-03 16:33:20','0','2','长沙','15912345655'),(8,'小翠儿','2019-03-05 08:59:19','0','2','长春','15912345622'),(9,'凤姐','2019-03-05 09:34:13','0','1','长沙','15912345333');
2.idea连接mysql 显示上述创建的数据
第三 SpringBoot开发
1.创建对应目录及文件
com.xz.spring.springbootmybatis.controller – Controller 层
com.xz.spring.springbootmybatis.dao – 数据操作层 DAO
com.xz.spring.springbootmybatis.domain – 实体类
com.xz.spring.springbootmybatis.service – 业务逻辑层
SpringBootMybatisApplication – 应用启动类
application.properties – 应用配置文件,应用启动会自动读取配置
2.首先根据数据表字段编写实体类,如下图
3.通过mybatis链接数据库并查询-两种方式:1.xml配置文件 2.annotations,任选其一即可
1.xml配置文件
3.1 配置文件修改
在配置文件pom.xml引入mybatis
<!-- Spring Boot Mybatis 依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
在配置文件application.properties配置端口号、数据库、mybatis
#web服务端口号
server.port=90
## 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/person_info?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
## Mybatis 配置
mybatis.typeAliasesPackage=com.xz.spring.springbootmybatis.domain
mybatis.mapperLocations=classpath:mapper/*.xml
3.2 需要配置mapper接口类扫描包
在resource目录下创建/mapper/PersonsMapper.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.xz.spring.springbootmybatis.dao.PersonsDao">
<sql id="Base_Column_List">
id, uName, birthday, gender,zhiye,address
</sql>
<select id="findByName" resultType="com.xz.spring.springbootmybatis.domain.Persons" parameterType="java.lang.String">
select
<include refid="Base_Column_List" />
from persons
where uName = #{uName}
</select>
</mapper>
3.3编写dao层
2.annotations
3.1 同上面3.1
3.2 利用annotations获取数据表信息
package com.xz.spring.springbootmybatis.dao;
import com.xz.spring.springbootmybatis.domain.Persons;
import org.apache.ibatis.annotations.*;
@Mapper
public interface PersonsDao {
/**
* 根据人名,查询用户信息
*
* @param uName 人名
*/
@Select("SELECT * FROM persons where uName = #{uName}")
// 返回 Map 结果集
@Results({
@Result(property = "id", column = "id"),
@Result(property = "birthday", column = "birthday"),
@Result(property = "uName", column = "uName"),
@Result(property = "birthday", column = "birthday"),
@Result(property = "zhiye", column = "zhiye"),
@Result(property = "address",column = "address"),
@Result(property = "phone",column = "phone")
})
Persons findByName(@Param("uName") String uName);
}
4.编写业务逻辑。
4.1 在接口类PersonsService中设置接口方法
4.2实现类,调用dao层findName方法
5.编写Controller层
备注:也可以将@Controller和@ResponseBody统一写成@RestController
6.启动后在浏览器输入:http://127.0.0.1:90/person?uName=%E5%BC%A0%E4%B8%89