SpingBoot快速入门

一、SpringBoot相关依赖
1.添加父工程坐标
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
</parent>
2.添加web启动器
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3.启动类
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
二、连接数据库
1.mysql连接池
在pom.xml中引入jdbc的启动器
1)引入依赖
<!--jdbc的启动器,默认使用HikariCP连接池-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--不要忘记数据库驱动,因为springboot不知道我们使用的什么数据库,这里选择mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2)配置application.properties
在resources下添加。指定连接池参数
# 连接四大参数
spring.datasource.url=jdbc:mysql://localhost:3306/dms
spring.datasource.username=root
spring.datasource.password=root
# 可省略,SpringBoot自动推断
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.hikari.idle-timeout=60000
spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.minimum-idle=10
2.Druid连接池
当然,如果你更喜欢Druid连接池,也可以使用Druid官方提供的启动器。
<!-- Druid连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.6</version>
</dependency>
#初始化连接数
spring.datasource.druid.initial-size=1
#最小空闲连接
spring.datasource.druid.min-idle=1
#最大活动连接
spring.datasource.druid.max-active=20
#获取连接时测试是否可用
spring.datasource.druid.test-on-borrow=true
#监控页面启动
spring.datasource.druid.stat-view-servlet.allow=true
三、整合mybatis
1.mybatis
1)引入依赖
<!--mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
2)配置application.properties
# mybatis 别名扫描
mybatis.type-aliases-package=cn.yh.pojo
# mapper.xml文件位置,如果没有映射文件,请注释掉
mybatis.mapper-locations=classpath:mappers/*.xml
2.通用mapper
1)在pom文件中导入依赖。
<!-- 通用mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
2)Mapper层接口实现继承、添加注解
@org.apache.ibatis.annotations.Mapper
public interface UserMapper extends tk.mybatis.mapper.common.Mapper<User>{
}
3)实体类
lombok依赖
<!--lombok,用于给实体类添加构造方法等-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
@Data
@Table(name = "tb_user") //想要查询数据库中哪张表,如果不用通用mapper这里可不写
public class User {
@Id //注意,如果你想使用通用Mapper进行CRUD,一定要加上这个@Id注解
private Long id;
private String userName;
private String sex;
//如果数据库中有小数字段,这里类型需要改成String
}
4)数据库导入表
CREATE TABLE `tb_user` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`user_name` varchar(20) DEFAULT NULL,
`sex` varchar(10) DEFAULT NULL
);
-- ----------------------------
-- Records of tb_user
-- ----------------------------
INSERT INTO `tb_user` VALUES (1, 'zhangsan', '男');
INSERT INTO `tb_user` VALUES (2, '李四', '');
INSERT INTO `tb_user` VALUES (3, '王五', '男');
四、整合事务
其实,我们引入jdbc或者web的启动器,就已经引入事务相关的依赖及默认配置了。至于事务,SpringBoot中通过注解来控制。在需要事务的方法上添加注解@Transactional
即可。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User queryById(Long id){
return this.userMapper.selectByPrimaryKey(id);
}
@Transactional
public void deleteById(Long id){
this.userMapper.deleteByPrimaryKey(id);
}
}
五、测试SpringBoot项目搭建
在controller层中添加测试类,访问 http://localhost:8080/test/one
@RestController
@RequestMapping("test")
public class BookController {
@RequestMapping("one")
public String test(){
return "测试springboot";
}
}
附:完整依赖和配置
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--jdbc的启动器,默认使用HikariCP连接池-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--不要忘记数据库驱动,因为springboot不知道我们使用的什么数据库,这里选择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>1.3.2</version>
</dependency>
<!-- 通用mapper -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
<!--lombook,用于给实体类添加构造方法等-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
application.properties
#端口号
server.port=8080
logging.level.org.springframework=debug
#logging.level.org.springframework=info
spring.datasource.url=jdbc:mysql://localhost:3306/自己的数据库名
spring.datasource.username=root
spring.datasource.password=123456
# mybatis 别名扫描,扫到实体类,不要忘记修改自己pojo类的包路径,例如:
mybatis.type-aliases-package=cn.ssm.pojo
# mapper.xml文件位置,如果没有映射文件,请注释掉
# mybatis.mapper-locations=classpath:mappers/*.xml