Spring Boot学习总结三

Posted ylzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot学习总结三相关的知识,希望对你有一定的参考价值。

1,mybatis在spring boot下的2种使用模式

无配置文件注解版

application.properties添加相关配置

mybatis.type-aliases-package=com.neo.entity

spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = root

springboot会自动加载spring.datasource.*相关配置,数据源就会自动注入到sqlSessionFactory中,sqlSessionFactory会自动注入到Mapper中,对了你一切都不用管了,直接拿起来使用就行了。
在启动类中添加对mapper包扫描@MapperScan

@SpringBootApplication
@MapperScan("com.neo.mapper")
public class Application {    
   public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

或者直接在Mapper类上面添加注解@Mapper,建议使用上面那种,不然每个mapper加个注解也挺麻烦的

开发Mapper,第三步是最关键的一块,sql生产都在这里

public interface UserMapper {    
    @Select("SELECT * FROM users")     
    @Results({        
       @Result(property = "userSex",  column = "user_sex", javaType = UserSexEnum.class),        
       @Result(property = "nickName", column = "nick_name")
    })   
    List<UserEntity> getAll();
    
    @Select("SELECT * FROM users WHERE id = #{id}")
    @Results({        
        @Result(property = "userSex",  column = "user_sex", javaType = UserSexEnum.class),
        @Result(property = "nickName", column = "nick_name")
    })    
    UserEntity getOne(Long id);    
    
    @Insert("INSERT INTO users(userName,passWord,user_sex) VALUES(#{userName}, #{passWord}, #{userSex})")    
    void insert(UserEntity user);    
    
    @Update("UPDATE users SET userName=#{userName},nick_name=#{nickName} WHERE id =#{id}")
    void update(UserEntity user);    
    
    @Delete("DELETE FROM users WHERE id =#{id}")    
    void delete(Long id);

}

以上是关于Spring Boot学习总结三的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot学习总结(25)——Spring Boot 资源初始化加载总结

spring boot学习总结-- 基础入门 Hello,spring boot!

Spring Boot学习总结(26)—— Spring Boot 容器启动详解

Spring Boot学习总结(26)—— Spring Boot 容器启动详解

Spring Boot学习总结(29)—— Spring Boot 2.6 新特性

Spring Boot学习总结(29)—— Spring Boot 2.6 新特性