资讯专栏INFORMATION COLUMN

Spring Boot 的简单教程(五)数据库连接之Mybatis的使用

godiscoder / 1267人阅读

摘要:的使用是一款优秀的持久层框架,它支持定制化存储过程以及高级映射。插入数据库使用,直接传入实体类会自动解析属性到对应的值负责修改,也可以直接传入对象负责删除第五,使用就可以了。

Mybatis的使用
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

怎么在Spring Boot里面使用Mybatis呢?就继续看吧。

第一,在pom.xml里面导入配置文件。
    
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        1.1.1
    
    
        mysql
        mysql-connector-java
    
第二,添加相关配置 application.yml。
    #配置数据源
    spring:
      datasource:
      #这里可以不写,会根据url自动判断,如果mybatis里面配置了version那么这里写了就会报错。
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost:3306/springboot
        username: root
        password: password
    
    #这是在控制台打印mybatis的sql语句
    logging:
      level:
        com:
          springboot:       
            mybatis:
              mepper: debug   #这是mapper放置的地址。
    #开启驼峰命名法,这样后面的开发Mapper就可以省掉@Results的注解,当然,不是驼峰命名法的还是不能省略。
    mybatis:
      configuration:
        map-underscore-to-camel-case: true
第三,在启动类中添加对mapper包扫描@MapperScan。
    @SpringBootApplication
    @MapperScan("com.springboot.mybatis.mapper")    //mapper文件的存放地址
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
第四,开发Mapper就可以了。
public interface GirlMapper {

    //这里没有使用@Results注解,是因为前面在application.yml已经进行相关配置了。
    @Select("select * from girl")
    @Results({
        @Result(column="cup_size", property="cupSize", jdbcType=JdbcType.VARCHAR)
    })
    List findAll();

    @Select("select * from girl where id = #{id}")
    Girl findOne(Integer id);

}
@Select 是查询类的注解,所有的查询均使用这个 
@Result修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰。
@Insert插入数据库使用,直接传入实体类会自动解析属性到对应的值
@Update 负责修改,也可以直接传入对象
@delete 负责删除

第五,使用就可以了。

//如果想使用@RestController和@RequestMapping就必须在pom.xml里面导入WEB支持(spring-boot-starter-web)
@RestController
public class GirlController {

    //注入GirlMapper
    @Autowired
    GirlMapper girlMapper;

    @RequestMapping("/girls")
    public List findAll(){
        return girlMapper.findAll();
    }

    @RequestMapping("/girl/{id}")
    public Girl findOne(@PathVariable("id") Integer id){
        return girlMapper.findOne(id);
    }

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71754.html

相关文章

  • 写这么多系列博客,怪不得找不到女朋友

    摘要:前提好几周没更新博客了,对不断支持我博客的童鞋们说声抱歉了。熟悉我的人都知道我写博客的时间比较早,而且坚持的时间也比较久,一直到现在也是一直保持着更新状态。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好几周没更新博客了,对不断支持我博客的童鞋们说声:抱歉了!。自己这段时...

    JerryWangSAP 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 评论0 收藏0

发表评论

0条评论

godiscoder

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<