欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

springboot工程中各个层次的作用+springboot连接数据库的工具汇总+Mybatis的开发方式/语法

程序员文章站 2022-03-02 21:29:26
下面这个是hibernate的相关工程文件夹作用bean代码中的表格映射到mysql表格Controller路由和业务逻辑Repository写一些类似SQL的语句.Service写一些被Controller调用的逻辑App类似于Django的manage.py,启动入口......

下面这个是hibernate的相关工程

 

springboot工程中各个层次的作用+springboot连接数据库的工具汇总+Mybatis的开发方式/语法

下面这个是Mybatis的相关工程

springboot工程中各个层次的作用+springboot连接数据库的工具汇总+Mybatis的开发方式/语法

可以看出无论使用哪一种,方式都是一致的.

 

------------------------------------------------

 

文件夹 作用
App 类似于Django的manage.py,启动入口
Controller 路由和业务逻辑
Service 写一些被Controller调用的逻辑
Repository(DAO/Mapper层)

Hibernate在这个层写一些类似SQL的语句,被Service层调用

 

Mybatis在这个层写SQL

bean(Model/Entity层) 代码中的表格映射到mysql表格

------------------------------------------------

Mybatis一般有两种写法[1],

①原始的dao开发

②mapper代理的开发方式

------------------------------------------------

常用语法 作用
@Param("参数名")

对传入的参数进行重命名,

重命名后的数据被使用在SQL中

@ResultMap

<resultMap type="com.clark.model.Goods" id="t_good">

映射用

@Result

下面这种select语句的应用[2]:

@Result(column="login_name",property="loginName")

表格列名是column

property表示private 变量是loginName

@Results     @Select(value = "select * from user")
    @Results(id = "userMap",value = {
            @Result(id = true,column ="id" ,property ="userId" ),
            @Result(column = "username" ,property = "userName"),
            @Result(column = "sex",property = "userSex"),
            @Result(column = "address",property = "userAddress"),
            @Result(column = "birthday",property = "userBirthday")
    })
@Update 更新语句
@Select 查询语句
@Delete 删除语句
@Insert 插入语句
@Options 设置缓存/映射关系等(如下图解释)

 

 

Gendar表有一个gendarId自增长主键,如何在插入数据后自动获取到该主键值呢?可以使用@Options注解:

springboot工程中各个层次的作用+springboot连接数据库的工具汇总+Mybatis的开发方式/语法
 

含义 读应的变量
实例对象中主键的属性名 keyProperty
数据库中的字段名 keyColumn

设置@Options属性userGeneratedKeys的值为true,

这样在gendar插入数据后,gendarId属性会被自动赋值。(因为插入数据的时候,我们是不带有主键的)

------------------------------------------------

常用springboot与数据库的连接工具

Mybatis

Hibernate

JPA

Spring Data JPA(JPA的简化工具)

JdbcTemplate

Mybatis(现在逐渐流行)

 

------------------------------------------------

Reference:

[1]MyBatis--xml方式

[2]mybatis column 和property

[3]注解开发中的@Results注解使用

 

本文地址:https://blog.csdn.net/appleyuchi/article/details/108976801

相关标签: SpringBoot