Spring boot框架搭建+整合mybatis实现查询(详细讲解)

第一步创建项目:新建一个SpringBoot项目

 

修改一些名称打包要打成jar(Spring boot打成jar包和war包的区别https://blog.csdn.net/ljj_9/article/details/79423148)  其他默认:(最开始打成的war包建成项目后就报错了)

下一步:选择一个web就行了

然后点击Finish,这时候会下载很多Jar包。

建成后的格式:

然后找到Application  run一下

可以跑起来就成功了

接下来整合mybatis

在pom.xml文件中加入mybatis需要的依赖

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.21</version>
</dependency>

配置文件application.properties中添加

server.port=8090

spring.datasource.url=jdbc:mysql://39.108.189.173:3306/hotcomm-manage3
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver


然后在com.hik下建几个包bean(存放实体类)controller、service、mapper, 在src/main/resourse下建一个mapper(存放mapper.xml文件)建成结构为:

再配置application.properties中添加扫描实体类和mapper下的xml文件。

mybatis.typeAliasesPackage=com.hik.bean
mybatis.mapperLocations=classpath:mapper/*.xml

在SpringBootHelloApplication中添加@MapperScan("com.hik.mapper") 用来扫描mapper包下的文件,比起ssm的配置不知道爽了多少倍。

package com.hik;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.hik.mapper")
@SpringBootApplication
public class SpringBootHelloApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringBootHelloApplication.class, args);
	}
}

为了方便开发可以引用lombok插件 实体类就不用写set/get代码更加干净清晰,在pom.xml文件中引入:

<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.14.4</version>
		</dependency>

下面正式步入写代码阶段:

第一步:编写实体类GroupInfoVO(头上的那三个注解是引lombok的,这样就不用写set/get方法了):

package com.hik.bean;

import java.io.Serializable;


import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
public class GroupInfoVO implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer id;
    private String groupname;
    private Double x;
    private Double y;
    private String groupcode;
    private String itemnum;
    private Integer managerid;
    private String imgpath;
    
}

第二步编写GroupController:

package com.hik.controller;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hik.bean.GroupInfoVO;
import com.hik.service.GroupService;
@RestController
public class GroupController {
@Autowired
private GroupService groupService;
	// 根据id查询项目
	@PostMapping("group/selectgroupById")
	public List<GroupInfoVO>selectgroupById(Integer groupId) {
		List<GroupInfoVO> list = groupService.selectgroupById(groupId);
		return list;
	}
}

第三步编写service:

package com.hik.service;

import java.util.List;
import com.hik.bean.GroupInfoVO;

public interface GroupService {
	List<GroupInfoVO> selectgroupById(Integer groupId);

}

第四步编写GroupServiceImpl:

package com.hik.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hik.bean.GroupInfoVO;
import com.hik.mapper.GroupServiceMapper;

@Service
public class GroupServiceImpl implements GroupService {

	@Autowired
	private GroupServiceMapper roupServiceMapper;

	@Override
	public List<GroupInfoVO> selectgroupById(Integer groupId) {
		return roupServiceMapper.selectgroupById(groupId);
	}

}

第五步编写GroupMapper:

package com.hik.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.hik.bean.GroupInfoVO;

public interface GroupMapper{

	List<GroupInfoVO> selectgroupById(@Param("groupId") Integer groupId);

}

第六步编写GroupMapper.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.hik.mapper.GroupMapper">
<!-- 通过id查询项目信息 -->
	<select id="selectgroupById"
		resultType="com.hik.bean.GroupInfoVO">
		select
		id,groupname,x,y,groupcode,itemnum,managerid,imgpath from
		t_device_group where id=#{groupId}
	</select>
</mapper>

最后看一下项目结构:

现在就可以跑一下程序了:

这样就说明已经成功了。

最后一步看能不能查出数据, 在eolink上测试:

有数据返回测试成功!这时看一下打印台:

可以看出虽然成功返回数据但是控制台上没有打印SQL语句,这样并不利于项目中的开发。现在可以配置一下打印日志,将SQL语句都打印出来。

在application.properties中添加logging.level+mapper所在的包名=DEBUG就可以了

logging.level.com.hik.mapper=DEBUG

控制台就会打印出SQL语句:

2018-08-23 22:00:47.070  INFO 7252 --- [nio-8090-exec-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2018-08-23 22:00:48.089  INFO 7252 --- [nio-8090-exec-1] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2018-08-23 22:00:48.115 DEBUG 7252 --- [nio-8090-exec-1] c.h.mapper.GroupMapper.selectgroupById   : ==>  Preparing: select id,groupname,x,y,groupcode,itemnum,managerid,imgpath from t_device_group where id=? 
2018-08-23 22:00:48.149 DEBUG 7252 --- [nio-8090-exec-1] c.h.mapper.GroupMapper.selectgroupById   : ==> Parameters: 1(Integer)
2018-08-23 22:00:48.217 DEBUG 7252 --- [nio-8090-exec-1] c.h.mapper.GroupMapper.selectgroupById   : <==      Total: 1

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值