SSM基础知识之mybaits部分内容

SSM

前言maven

依赖管理

maven项目
–src//源代码
–main//开发代码
–java(存放java代码,相当于传统项目的src)
–resources(存放配置文件和静态资源,相当于传统项目的web目录)
–test//测试代码
–java测试代码
–pom.xml

pom.xml
pom( project object model),maven可以对此项目进行依赖管理
pom需要的依赖直接在pom.xml文件进行配置。

<?xml version="1.0" encoding="UTF-8"?>

xml和html一样是标记语言,需要标签
<project xml配置maven规则,自动生成的>

modelversion 指定项目模型版本
指定企业标识,项目标识,版本
groupID 企业标识
artifactid 项目标识
version 版本
dependencies

如果在当前项目添加依赖,只需在pom.xml中依赖配置

配置依赖
找到依赖坐标,添加pom.xml文件中进行依赖配置。
从这个https://mvnrepository.com/网站
找驱动版本的坐标,引入之后都会有提示。
scope标签配置使用范围。

pom文件配置依赖 maven工具先看本地有没有有jar包,没有从远程仓库下载

maven生命周期

清除缓存
检查
编译
测试(就会执行maven项目中test目录下的单元测试)
打包(war,jar)
安装(jar会被安装到本地仓库)
部署/运行(将项目生成的包放到服务器中)

idea 中关联maven

一、SSM框架

框架:软件的半成品,完成了软件开发的过程中的通用操作,程序员只需很少或者不用加工就能实现特定的功能,从而简化开发人员在软件开发中的步骤,提高开发效率。

常用框架

mvc框架

:简化了servlet的开发步骤。requst 代码和前端交互
struct
struts2
struct和struct2没啥关系
springmvc

持久层框架

代码和数据库交互
apache dbutils
hibernate
spring jpa
mybaits
ORM 对象关系的映射,将java中的对象与数据库中一行记录一 一对应。
ORM框架提供了实体类与数据表的映射关系,通过映射文件的配置,实现对象的持久化。

胶水框架

spring框架

二、MyBaits

Mybaits是一个半自动orm框架
ibatis
hibernate 方便mybaits的前身就是ibaits,ibaits是apache提供的一个开源项目。
ibaits 相当于农村,mybaits相当于农家乐,hibernate相当于城市。
mybaits支持自定义sql
支持存储过程
对原有jdbc进行了封装,几乎消除了所有jdbc代码,让开发者只需关注sql本身。
支持xml和注解配置方式自动完成orm操作,实现结果映射。

mybaits框架部署

2.1创建maven项目
java项目
web项目
2.2在项目中添加mybatis依赖
在pom.xml中添加依赖
mybaits
mysql driver
2.3创建mybatis配置文件
在resource
new mybaits config 就有对应的语法要求和配置文件。
在这里插入图片描述
在这里插入图片描述
在resource中创建名为mybaits-config
在mybaits-config.xml文件配置数据库连接信息。

创建数据库

在navicat 使用创建表
create table tb_students
stu_name char(5)

创建实体类

数据库需要po和dao包
java
要用lombok导入依赖

创建接口dao接口

定义操作方法
在这里插入图片描述

xml创建dao接口的映射文件。视频41个,20分钟左右的地方。

mapper相当于dao接口的实现类
在resource目录下,创建名为mappers文件夹
实体类是car,就创建carappper
mapper相当于student实现类,没有用类实现,用配置文件实现每个接口干啥。
namespace放接口路径。
insert插入操作
id与方法名一致
value和参数有关,parametertype 参数类型,比如student类型。

在映射文件中对dao中

单元测试

4.1junit先在pom.xml添加依赖
4.2创建单元测试类

删除操作

在studentDAO中定义删除方法

在studentDAO定义,在studentMapper.xml中接口方法进行“实现”

测试

查询多条返回list集合
public List liststudents();
在配置文件,id要与方法一致。
select 一些列名从一个表。
resultmap 标签定义实体类和数据表的关系。
resultsets 指定集合类型
resultType 结果封装实体类
不取别名
返回还要一 一对应
resultmap可以随意取
定义映射关系
column 查询的 property 放到对象的num
orm框架对象和关系表的映射关系。
当配置rssultmap resulttype可以不用要了

student DAO定义方法,在mapper配置文件中去实现。单元测试

多参数查询

mybatis中进行条件查询操作:
1,如果操作方法只有一个简单类型或者字符串类型的参数,在mapper配置中可以直接通过#{key}直接获取。
2,如果操作方法有一个对象类型的参数,在mapper配置中可以直接通过#{attarname}获取对象的指定属性值(attarname)
3,如果操作方法有一个对象类型的参数,在mapper配置中可以直接通过#{key}直接获取。
4,如果有多个参数,就给每个参数加个注解,加个别名。
在这里插入图片描述
在这里插入图片描述

分页查询(参数start,pageszie 返回的条数)
eg:liststudentpage(int start,int pagesize)
分页查询返回的也是list,方法可以相同但是参数可以不同,尽量不要重载。
xml可扩展标记语言。
limit#{start} #{pagesize}

添加操作,int返回,成功或者失败0或1。
mapper配置文件靠mybaits—config这个主配置文件加载。

utils工具类,定义方法,

ssm 创建项目,添加依赖,创建mybaits.xml

在mybaits离线包里面。
mybaits-config文件,配置标签要保证顺序。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

propertise文件,配置键值对,加载属性文件。
在这里插入图片描述
在这里插入图片描述
plugin配置插件标签。
分页使用插件。
mapper标签用于载入项目中映射文件,载入dao类。

mybaits的核心就是mapper映射文件,安装mybaits规范配置。mapper.xml,mybaits-config.xml给底层的代码读的文件。
cache标签,设置缓存属性。

sql片段。
sql和include标签。
sql定义一个片段。
select里面用include标签。
关联映射,多表查询。
plugins插件配置。

mybaits没有这个插件,要导包。
pagehelper
查询之前设置分页信息,查询之后设置分页数据。

2、spring

spring定义
spring是轻量级(体积小,没有侵入性不用写spring的类,就能工作),控制反转(ioc,不用我们new了,交给spring)面向切面的容器框架,直接new耦合度比较高,使用spring解耦的,面向切面(AOP)面向切面编程。可以在不改变业务的情况下,增强业务。spring可以帮你提交事务,回滚,有了spring不用加代码。容器(创建对象放入容器,实例的容器,下次用直接去拿)。帮助其他框架更好。发动机和机油。
一个接口下有两个方法实现。

new的话就增加了代码的依赖,增加了耦合性。
spring面向接口编程,增强代码的灵活性,通过反射动态的给service变量赋值。spring框架可以做到。

servlet中需要service中的方法,则需要在servlet类中通过new关键字创建service的实例。

beans spring对象管理 context spring的上下文 spel
表达式语言

web
spring mvc是spring的一个组件,当成一个单独框架来学习的,一定要用spring的核心组件。

D阿塔access
tx事务管理,transaction

test组件
spring test单元测试。

严格来讲就两个框架 spring 和mybaits。
maven有依赖导入(79个视频8分钟左右)。
在这里插入图片描述
spring的配置文件,引入规范。dtd;xsd两种配置文件。

参考视频
1,https://www.bilibili.com/video/BV1qf4y1p7QY?p=54&spm_id_from=pageDriver

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值