配套视频:【编程不良人】2021年SpringBoot最新最全教程_哔哩哔哩_bilibili
【编程不良人】2021年SpringBoot最新最全教程_哔哩哔哩_bilibili
springboot 微框架 = spring 工厂 + springmvc 控制器 微:快速开发框架 通过遵守默认约定 简化项目中样板化配置
数据库访问框架: hibernate jpa mybatis(框架)
回顾: spring框架如何整合mybatis?
1.引入依赖
spring 相关
mysql 相关 驱动 数据源
mybatis 相关 mybatis核心jar mybatis和spring框架整合
2.spring.xml
a.开启注解扫描
b.创建数据源对象
注入 指定使用那种数据源类型 注入dirverClassName 注入url 注入username password
c.创建sqlSessionFactory
注入 数据源 注入mapper配置文件位置 注入实体别名包
d.创建Dao对象
注入SqlSessionFactory 以及Dao接口所在包
e.创建事务管理器 DataSourceTranacationManager
注入 数据源对象
f.在业务层组件上加入事务注解 @Transacational
3.测试
1).建表
2).开发实体类
3).开发DAO接口
4).开发Mapper配置文件
5).开发Service接口
6).开发ServiceImpl实现类
7).测试ServiceImpl
===========================================================================
springboot框架中如何整合mybatis框架?
1.引入依赖
spring-boot-stater-web
mysql相关 mysql驱动 druid数据源
mybatis相关的 (mybatis-spring-boot-stater) 依赖 (mybatis mybatis-spring)
2.书写配置
a.开启注解扫描 @SpringBootApplication @ComponentScan 省略
b.创建数据源
1.指定数据源类型
2.指定数据库驱动
3.指定url
4.指定username
5.指定password
c.创建SqlSessionFactory
1.指定mapper配置文件位置
2.指定实体所在包位置 起别名
d.创建DAO
1.指定DAO接口所在包
e.创建事务管理器 开启注解式事务生效 省略
3.测试
1).建表
2).开发实体类
3).开发DAO接口
4).开发Mapper配置文件
5).开发Service接口
6).开发ServiceImpl实现类
7).测试ServiceImpl
1.1 引入依赖
1.2 application.yml编写相关配置 com.alibaba druid1.2.4 mysql mysql-connector-java5.1.38 org.mybatis.spring.boot mybatis-spring-boot-starter2.1.4
# 公共配置
server:
port: 8888 # 修改内置tomcat端口号
servlet:
context-path: /spring-boot-day03
# 数据源相关配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 指定连接池类型
driver-class-name: com.mysql.jdbc.Driver # mysql 5.x版本驱动
# driver-class-name: com.mysql.cj.jdbc.Driver # mysql 8.x版本驱动
url: jdbc:mysql://localhost:3306/bootssm?characterEncoding=UTF-8 # 指定url
username: root # 指定用户名和密码
password: 123456 # 指定密码
# mybatis相关配置
mybatis:
mapper-locations: classpath:com/study/mapper
//@Mapper
@MapperScan("com.study.dao")
public class SpringBootDay03Application {
public static void main(String[] args) {
SpringApplication.run(SpringBootDay03Application.class, args);
}
}
1.4 建表
CREATE DATABASE IF NOT EXISTS bootssm; USER bootssm; CREATE TABLE IF NOT EXISTS t_user( id INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', name VARCHAr(40) COMMENT '姓名', birthday TIMESTAMP COMMENT '生日', salary DOUBLE(10,2) COMMENT '工资', PRIMARY KEY(id) )ENGINE=INNODB DEFAULT CHARSET=utf8mb4;1.5 开发实体类
User
package com.study.entity;
import java.util.Date;
public class User {
private Integer id;
private String name;
private Date birthday;
private Double salary;
public User() {
}
public User(Integer id, String name, Date birthday, Double salary) {
this.id = id;
this.name = name;
this.birthday = birthday;
this.salary = salary;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + ''' +
", birthday=" + birthday +
", salary=" + salary +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
}
1.6 开发DAO接口以及Mapper映射文件
UserDAO
package com.study.dao;
import com.study.entity.User;
import java.util.List;
public interface UserDAO {
List findAll();
void save(User user);
}
UserDAOMapper
1.7 开发Service以及实现类select id,name,birthday,salary from t_user insert into t_user values(#{id},#{name},#{birthday},#{salary})
package com.study.service;
import com.study.entity.User;
import java.util.List;
public interface UserService {
List findAll();
void save(User user);
}
UserServiceImpl
package com.study.service;
import com.study.dao.UserDAO;
import com.study.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service("userService")
@Transactional
public class UserServiceImpl implements UserService{
private UserDAO userDAO;
@Autowired
public UserServiceImpl(UserDAO userDAO) {
this.userDAO = userDAO;
}
@Override
@Transactional(propagation = Propagation.SUPPORTS)
public List findAll() {
return userDAO.findAll();
}
@Override
public void save(User user) {
userDAO.save(user);
}
}
1.8 开发Controller
UserController
package com.study.controller;
import com.study.entity.User;
import com.study.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("user")
public class UserController {
private UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
@RequestMapping("findAll")
public List findAll(){
return userService.findAll();
}
@RequestMapping("save")
public void save(User user){
userService.save(user);
}
}
1.9 启动项目访问测试
查询所有用户访问地址:http://localhost:8888/spring-boot-day03/user/findAll
添加用户信息访问地址:http://localhost:8888/spring-boot-day03/user/save?name=赵六&birthday=2013/08/04&salary=2800



