第一步创建项目:新建一个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