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

下面这个是hibernate的相关工程

下面这个是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注解:


 

含义 读应的变量
实例对象中主键的属性名 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注解使用

猜你喜欢

转载自blog.csdn.net/appleyuchi/article/details/108976801
今日推荐