实现一个下案例的简化部署。
-
创建一个maven项目
- File -> New -> Project ->Maven,选择SDK版本(通常为1.8版本) -> Next,写项目名称(ArtifactId)和项目坐标(GroupId) -> Next,选择好存储位置后,点击Finish。
- 添加目录

- 至此,创建好了一个maven项目。
-
将maven项目转换成springboot项目
-
导入依赖: 打开pom文件,添加父工程和所有项目所需的依赖项(目前只加载web依赖,mysql驱动,mybatis依赖)
父工程依赖: 管理所有依赖的版本,以后导入的依赖大部分不用写版本,但第三方依赖依然需要写版本号(例如:mybatis依赖属于第三方依赖,没有在starter中进行统一版本管理)。
starter: 启动器,在大部分依赖都整合在了starter中。XML<!--父工程依赖--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.6</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!--所有项目所需依赖项--> <dependencies> <!--加载web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--mybatis的依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> </dependencies> -
主程序: 创建启动类(类名一般与项目名一致)
javaimport org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * 启动类 */ @SpringBootApplication // 来源于spring-boot-starter,springboot的核心注解 @MapperScan("com.qcby.springBootDemoMybatis.mapper") public class SpringBootDemoMybatis { public static void main(String[] args) { SpringApplication.run(SpringBootDemoMybatis.class, args); } } -
配置类: 文件名为application.yml或application.properties都可以,配置端口号、数据库、mybatis
XMLserver: port: 8085 spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.qcby.springBootDemoMybatis.model configuration: log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
-
-
写一个小案例:查询所有用户信息
-
创建表及添加数据
sqlcreate database mybatis_db; use mybatis_db; CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(32) NOT NULL COMMENT '用户名称', `birthday` datetime default NULL COMMENT '生日', `sex` char(1) default NULL COMMENT '性别', `address` varchar(256) default NULL COMMENT '地址', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into `user`(`id`,`username`,`birthday`,`sex`,`address`) values (1,'老王','2018-02-27 17:47:08','男','北京'),(2,'熊大','2018-03-02 15:09:37','女','上海'),(3,'熊二','2018-03-04 11:34:34','女','深圳'),(4,'光头强','2018-03-04 12:04:06','男','广州'); -
创建实体类:User
javapublic class User { private Integer id; private String username; private Date birthday; private String sex; private String address; public User() { } public User(Integer id, String username, Date birthday, String sex, String address) { this.id = id; this.username = username; this.birthday = birthday; this.sex = sex; this.address = address; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", birthday=" + birthday + ", sex='" + sex + '\'' + ", address='" + address + '\'' + '}'; } } -
创建mapper:UserMapper.java和UserMapper.xml
java@Mapper public interface UserMapper { /** * 查询所有用户 * @return */ public List<User> findAll(); }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.qcby.springBootDemoMybatis.mapper.UserMapper"> <select id="findAll" resultType="com.qcby.springBootDemoMybatis.model.User"> select * from user </select> </mapper> -
创建service层:UserService.java和UserServiceImpl.java
javapublic interface UserService { List<User> findAll(); }java@Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> findAll() { return userMapper.findAll(); } } -
创建controller层:UserController.java
java@RestController @RequestMapping("/api/users") public class UserController { @Autowired private UserService userService; /** * 获取所有用户 */ @GetMapping public List<User> findAllUsers() { return userService.findAll(); } } -
运行主程序测试
访问接口:http://localhost:8085/api/users


-
-
简化部署
-
在pom文件中加入插件,加入插件后,刷新。
XML<!-- Spring Boot Maven插件,这是生成可执行jar的关键 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> -
点击右侧Maven -> 点击项目下的Lifecycle -> package,打包成功,项目目录的target下会生成两个文件

-
打开cmd,进入该文件的target目录下,执行java -jar springBootDemoMybatis-1.0-SNAPSHOT.jar命令,就可以正常访问链接,输出内容。
-