Spring Boot +mysql+mybatis 微服务入门篇(第三章)

1、在pom.xml中增加mybatis、mysql相关依赖。

    <!-- mybatis -->
	<dependency>
		<groupId>org.mybatis.spring.boot</groupId>
		<artifactId>mybatis-spring-boot-starter</artifactId>
		<version>1.3.1</version>
	</dependency>
	<!-- mysql -->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.21</version>
	</dependency>
    <!-- 实体类注解,替代set get -->
    <dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>1.16.10</version>
	</dependency>

2、在数据库中新建一张UserInfo表添加若干数据。 并在项目中新建model、controller、mapper、server层。

(1)model层新建UserInfo类

@Data
public class UserInfo {
    private String id;
    private String name;
    private String age;
    private String sex;
}

(2)mapper层新建UserInfoMapper类,并写上一个查询接口。

public interface UserInfoMapper {
    List<UserInfo> findUserInfo();
}

(3)server层新建UserInfoServer、UserInfoServerImpl类。

   UserInfoServer类:

public interface UserInfoService {
    List<UserInfo> findUserInfo();
}

  UserInfoServerImpl类:调用UserInfoMapper类写的接口方法。

@Service("userInfoService")
public class UserInfoServiceImpl implements UserInfoService {

    @Autowired
    private UserInfoMapper userInfoMapper;

    @Override
    public List<UserInfo> findUserInfo() {
        return userInfoMapper.findUserInfo();
    }
}

(4)controller层定义UserInfoController类

@RestController
public class UserInfoController {

    @Autowired
    private UserInfoService userInfoService;


    @RequestMapping(value = "/getList", method = RequestMethod.GET)
    public String getList() {
        List<UserInfo> userList =  userInfoService.findUserInfo();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("userList", userList);
        return jsonObject.toString();
    }

}

(5) 在resources文件下新建mybatis配置文件信息。

/resources/mybatis/config/mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <!--根据需要加入有关配置-->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <typeAliases>
        <package name="com.example.demo.userInfo.model"/>
    </typeAliases>
</configuration>

/resources/mybatis/mapper/UserInfoMapper.xml

扫描二维码关注公众号,回复: 5273289 查看本文章
<?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.example.demo.userInfo.mapper.UserInfoMapper">

    <select id="findUserInfo" resultType="UserInfo">
         SELECT * FROM userinfo
    </select>

</mapper>

(6)在pox.xml中配置mysql、mybatis信息。

server:
  port: 8086
spring:
  datasource:
      driverClassName: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
      username: root
      password: 123456
mybatis:
  config-location: classpath:mybatis/config/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml
  type-aliases-package: com.example.demo.userInfo.model

注:到这里我们还需要配置一个扫描UserInfoMapper类的注解。

@MapperScan("com.example.demo.userInfo.mapper")

(1)在当前UserInfoServiceImpl类添加。

(2)在DemoApplication中添加。

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan("com.example.demo.userInfo.mapper")
@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {

		SpringApplication.run(DemoApplication.class, args);
	}

}

数据库中已经添加好的数据。

重启 Spring Boot服务 访问我们的地址:http://localhost:8086/getList   

到这里我们这篇内容就到这里了。

学如逆水行舟,不进则退。心似平原跑马,易放难收。全栈工程师是指掌握多种技能,并能利用多种技能独立完成产品的人。 也叫全端工程师(同时具备前端和后台能力),英文Full Stack engineer。【人工智能】【区块链】【系统/网络/运维】【云计算/大数据】【数据库】【移动开发】【后端开发】【游戏开发】【UI设计】【微服务】【爬虫】【Java】【Go】【C++】【PHP】【Python】【Android/IOS】【HTML/CSS】【JavaScript】【Node】。。。

欢迎各位大神萌新一起专研分享各行各业技术!

IT全栈工程师技术交流群:593674370

猜你喜欢

转载自blog.csdn.net/qq_16137795/article/details/87877217
今日推荐