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注解使用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值