【springboot学习笔记】springboot+mybatis整合一

1、pom.xml maven依赖引入

        
			org.springframework.boot
			spring-boot-starter-jdbc
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			1.3.2
		

		
			mysql
			mysql-connector-java
			runtime
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		

		
		
			org.projectlombok
			lombok
			1.16.14
		

2、数据库数据简单的准备,这张表只有简单的两个字段,name,id。(创建表过程略)

3、配置文件引入-编辑,application.properties,或者application.yml

配置mybatis

配置的内容分别为:数据库地址,数据库名称,数据库密码,数据库驱动

#mybatis
spring.datasource.url=jdbc:mysql://localhost:3306/db?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

4、简单的代码实现

目录结构:

【springboot学习笔记】springboot+mybatis整合一_第1张图片

实体建模:

这个例子很简单,一个实体User,具有name,id,进行增删改查;

4.1 新建com.mybatis.entity包- 新建User,实体类

@Data:依赖于lombok插件,相当于@GETTER @SETTER,简化了set get方法;

@Data
public class User {
    private String name;
    private Integer id;

    public static void main(String[] args) {
    }
}

4.2 新建com.mybatis.mapper包-新建interface-UserMapper类,mapper层,对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的

@Mapper
public interface UserMapper {
    //查询
    @Select("SELECT * FROM MYBATIS WHERE NAME=#{name}")
    User findByName(@Param("name") String name);

    //查询所有
    @Select("SELECT * FROM MYBATIS")
    List findUsersList();

    //插入
    @Insert("INSERT INTO MYBATIS ( NAME, ID) VALUES ( #{name}, #{id})")
    int insert(@Param("name") String name, @Param("id") Integer id);
}

4.3 新建com.mybatis.service-UserService服务类,service层,存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层

@Service
@Slf4j
public class UserService {

    @Autowired
    private  UserMapper userMapper;

    @Transactional
    public int insetUser(String name, Integer id) {
        int insetUserResult = userMapper.insert(name,id);
        log.info("##########insetUserResult########",insetUserResult);
        return insetUserResult;
    }

    @Transactional
    public User findName(String name) {
        User  findResutName = userMapper.findByName(name);
        return findResutName;
    }
}

4.4 新建com.mybatis.controller -UserController,控制器,需要导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。这边是简单的,默认get的方式,@RestController返回json

@RestController
public class UserController {

    @Autowired
    UserService userService;

    @RequestMapping("/insetser")
    public Integer insertUser(String name, Integer id) {
        return userService.insetUser(name,id);
    }

    @RequestMapping("/name")
    public User getName(String name) {
        return userService.findName(name);
    }
}

5、运行

【springboot学习笔记】springboot+mybatis整合一_第2张图片

6、其他

mapper层注解的时候可以添加@Mapper 注解,也可以在运行的main方法中加扫描mapper的注解,这样就不需要在每个mapper层加注解了;

【springboot学习笔记】springboot+mybatis整合一_第3张图片

你可能感兴趣的:(spring,boot)