zoukankan      html  css  js  c++  java
  • Spring Boot集成Mybatis注解相关

    mybatis3开始支持java注解,使用java注解可以替代xml配置文件,简化代码。下面来看一下怎么在spring boot中使用mybatis注解。

    1 使用mybatis注解需要的配置。如下面的代码所示,使用@MapperScan来扫描注册mybatis数据库接口类,其中basePackages属性表明接口类所在的包,sqlSessionTemplateRef表明接口类使用的SqlSessionTemplate。如果项目需要配置两个数据库,@MapperScan也需要分别配置。

    @Configuration
    @MapperScan(basePackages="com.boot.test.mapper",sqlSessionTemplateRef="sqlSessionTemplate")
    public class DatabaseConfig {
    
        @Bean
        @ConfigurationProperties(prefix = "test.datasource")
        public DataSource dataSource() {
            return DataSourceBuilder.create().build();
        }
    
        @Bean
        public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
            SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
            sessionFactory.setDataSource(dataSource);
            return sessionFactory.getObject();
        }
    
        @Bean
        public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
            return new SqlSessionTemplate(sqlSessionFactory);
        }
    }
    

    2 mybatis注解介绍
    mybatis3支持多个java注解,下面介绍几个基本的注解。
    @Insert

     @Insert("insert into t_user(name,age,gender) values (#{name},#{age},#{gender})")
     public int addUser(User user) throws DataAccessException;
    

    如上面的代码所示,使用@Insert注解可以在()中直接写sql语句,传参可以用#{}实现,其中name字段名直接对应User类中的name字段,肿么样,有没有很直观方便:)

    @Select

    @Select("select age,gender from t_user where name={name}")
    public User queryUser(String name) throws DataAccessException;
    

    @Select 注解所查询出的字段可以直接绑定到User类中对应的字段中,由于在类中可以import对应的类,免去了在xml中配置结果集的麻烦。

    @SelectKey

     @SelectKey(statement = "select max(id) from t_id", before = true, resultType = long.class, keyProperty = "id")
     @Insert("insert into t_user(id,name,age,gender) values (#{id},#{name},#{age},#{gender})")
     public int addUser(User user) throws DataAccessException;
    

    @SelectKey注解用于查询一下需要的前置字段,如上面的代码所示先查出id字段的值,然后插入到t_user表中,一般配合@Insert和@Update
    注解使用。


    参考链接:https://www.jianshu.com/p/b1cad28c34eb

  • 相关阅读:
    [转]计算机视觉之跟踪算法——相关滤波器Correlation Filter
    [转]CNN 中千奇百怪的卷积方式大汇总
    [转]边框回归(Bounding Box Regression)详解
    [转]CNN目标检测(一):Faster RCNN详解
    史上最全的机器学习工具手册!
    同样是玩Python,怎么能玩出新花样?
    2019阿里巴巴面试题集锦(有答案哦),收藏!
    10个Python图像处理工具,干货整理!
    网页数据如何实现实时刷新?
    数据结构与算法之链表学习方法攻略
  • 原文地址:https://www.cnblogs.com/xiohao/p/11965736.html
Copyright © 2011-2022 走看看