初学SpringBoot+Mybatis项目实践(一)

第一、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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值