自学内容网 自学内容网

操作数据库

目前service层方法,从库借用连接,操作数据库sql,先写操作数据库的代码

1、认识:mybatis-plus源码类是mybatis的增强版,是持久层的框架(mapper标记的接口下面的方法和sql的关系存储):

2、配置:pom.xml配置mybatis-plus-boot-starter

3、源码-注解类

@Mapper     标记在接口上,让此接口作为MyBatis mapper文件,此接口内部可以定义sql
@Select     标记在方法上,主要做查询的,变量value=查询的sql
@Insert     标记在方法上,主要做插入的,变量value=insert的sql
@Delete     标记在方法上,主要做删除的,变量value=delete的sql
@Update     标记在方法上,主要做更新的,变量value=update的sql
@TableName  标记在类上,变量value=数据库标名,作用是类和表对应
@TableId    标记在属性上,变量value=表主键,type=自增,作用是类属性和表主健对应
@TableField 标记在属性上,变量value=表的某个列,作用是类属性和表某列对应

步骤:

1、@mapper标记接口+在spring库下建相关表

2、据service层方法,再结合注解@Select来写代码(使用实体类来定义属性)

配置-在pom文件中

新建mapper类-新建的是接口类

引入@mapper 注解,因这个注解需要在新的类上,所以新建包新建类

作用:标记在接口上,让此接口作为MyBatis mapper文件,此接口内部可以定义sql

@select注解

 

UserService的login---->借用连接---->UserMapper操作数据库sql的login
UserService的getinfo---->借用连接---->UserMapper操作数据库sql的getinfo

 login方法的sql怎么写

根据数据库的内容一一对应

@Select("select count(*) from user where name=#{name} and passwd=#{pwd}")
int login(String name,String pwd);

怎么构建实体类

getinfo方法的sql怎么写

因为userservice传入的是int uid,在数据库里id=uid,需要一一对应

为什么不需要上边的样式,是因为这个是对整个表进行查询,所以select 跟*

这个*代表:三列

所以返回值应该写什么,因为*是返回整个表,所以这里的返回值是一整个表


创建一个实体类

映射到一个对象上,需要新建一个model包-这里存放的是模型,所以设置user,对应数据库里表内容(列),因为这三个属性对应的数据类型如下

所以在代码中需要定义属性

设置getset方法,使用@data注解(添加setget方法等)

增加无参空构造@NoArgsConstructor

增加所有参数构造@AllArgsConstructor

增加数据库表名,这里对应spring数据库内的user表

增加表主键标识,因为组建是递增的对应,所以对应user表中的主键id

字符串列,用一个新的注解@tableField是表字段标识,就是列的标识,代码中的name对应数据库的name

总的


所以现在usermapper里的getinfo方法--返回值是这个user类

但存储数据有多种,可以使用map存储数据,也可以使用实体类

总结


原文地址:https://blog.csdn.net/weixin_51482243/article/details/142365534

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!