菜鸡关于javaweb开发的学习总结(2)

本文详细探讨了数据库设计原则,包括表结构、主键与外键的使用,以及如何根据项目需求调整数据库。同时,深入解析了MyBatis框架下Mapper接口与XML配置的协同工作方式,阐述了SQL语句的编写技巧,并介绍了<resultMap>元素在复杂数据映射中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接(1)的内容往下继续总结,从后端的数据库出发
数据库设计需要有所讲究,最好是先定好项目大致所需要的表,然后设计主键和关联用的外键,写好约束以及一系列定义,再根据项目实际的开发情况进行修改,我这项目所给的数据库已经是他人写好的可以直接用的,这里提一嘴;
数据库的操作语句通常是在Mapper这个接口以及它同名的xml文件中,注意是同名且要在xml文件中指定接口的位置,这样在通过接口调用数据库操作方法时才能生效执行,这是非常非常基础的内容了。
然后就是数据库的sql语句这里了,也是很基础的内容,我学过,但是考过就忘了大部分,只留下几个非常深刻的语句

<select id="你要指定的方法" resultType="你指定的接收数据类型" parameterType="你指定的发送的数据类型">
	select * from 你指定的要访问的数据表 where 你指定条件
</select>
<insert id="你指定的方法" parameterType="你指定的发送数据类型">
	insert into 你指定的数据表(括号内可以选择表的相应字段) values(括号里面指定跟字段对应的数据)
</insert>
<update id="你要指定的方法" parameterType="你指定的发送数据类型">
    update 你指定的数据表 set 哪个字段的数据发生变化 where 条件
</update>
//数据库里用#{某方法传入数据名来指向该数据内容}

实际上还有其他数据库sql语句的操作,但是这也是基础知识,只能靠自己的记忆和理解了,desc、order by这种最起码得理解用法和含义
Mapper接口中方法里对传入数据有一个定义

void test(@Param("id") 数据类型 数据);
//这里的id指向了同名的xml文件的方法中的数据id,用来一一对应防止差错,一般用于二个及以上传入数据情况

然后就说说我这个实训接触到的一个我之前可能用过但是完全不了解的东西

<resultMap id=””  type=”数据类型” > 
   <id property=””  column=””> </id>
   <result  property=””  column=””></result>
   <association property=”” column=”” javaType=”” select=””></association>
  <collection property=”” column=””  ofType=”” select=””></collection>
</resultMap>
/*属性说明:
<resultMap> : id  : 可以随意指定 
<resultMap>: type : 指定整个查询结果的最后类型
<id> : 主键 标签
<id> : property  : 主键所对应的java实体类的 成员变量
<id> : column : 主键所对应的数据库表的字段名
<result> : 普通字段标签
<result> : property : 普通字段对应的java实体类的 成员变量
<result> : column : 普通字段所对应的数据库的字段名 
<association> : 1 对 1 时 所使用的标签
<association> : property : 此外键对应的实体类的成员变量
<association> : column : 此外键对应的数据库表的字段名
<association> : javaType : 此外键对应的实体类类型
<association> : select  根据对应的接口的方法查询(传递column的值作为方法的参数)

<collection> : 1对多使用的标签
<collection> : property : 此字段对应的实体类的成员变量名
<collection> : column : 这里写的是这个表的主键
<collection> : ofType : 集合返回的Java数据类型
<collection> : select : 根据对应的接口的方法查询(传递column的值作为方法的参数)*/
//用处:1.数据库实体类与javabean不一致 2.多表查询,把数据封装到javabean中

在面对复杂的返回的互相关联数据,你又不希望在sql语句上进行过多的操作,那就利用这个元素和相关属性设置来达到目的
数据库大致就到这里,可能一些遗漏了,但这只是一次基础回顾总结,等到了深度的学习,会有新的知识收获也说不定

菜鸡的个人记录,如果有什么纰漏欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值