day01-mybatis简介--入门-原生Dao开发.sqlconfig.xml配置介绍
mybatis的入门-根据用户id查询用户信息
1.导入依赖jar包
2.配置SqlMapConfig.xml
3.配置log4j.properties
4.在工程目录下创建pojo
5.配置sql查询的映射文件
6.加载映射文件


sql映射文件user.xml
id:sql id,语句的唯一标识
parameterType:入参的数据类型
resultType:返回结果的数据类型
补充说明:#{ }:占位符,相当于jdbc的?
如下sql使用占位符可改写为:select id,username,birthday,sex,address from user where id=#{id} //当sql的parameterType为基本数据类型的时候,大括号中的变量随便命名

在SqlMapConfig.xml文件中需补充如下配置:
编写测试类
sqlSession对象中有一系列的api,所有的增删改查都可以执行。

mybatis的入门-根据用户名模糊查询用户列表
${ }:字符串拼接指令,如parameterType类型为基本数据类型,大括号内只能写value,若parameterType类型为pojo,打括号内只需要写pojo的属性即可。(说明:字符串拼接指令需放在''单引号内)

测试类: sqlSession.selectList("getUserByUserName","张");
mybatis的入门-插入用户
注意:使用标签<insert>


mybatis的入门-插入用户-主键返回
mysql内置函数,查询最后一个插入的id。注意:此函数调用是和会话有关的
select LAST_INSERT_ID();


mybatis的入门-插入用户-uuid使用
说明:mybatis中如果配置了<selectKey>,则配置的userGeneratedKeys就不生效了。

mybatis的入门-修改用户


mybatis的入门-删除用户


mybatis架构体系

SqlSession的使用范围
SqlSession是不可共享的,线程不安全的,不是单例的,需要每次都重新创建。

Mybatis Dao开发方式
1.原始Dao开发方法(有接口,有实现类)
2.动态代理dao包装(只有接口,没有实现类)

SqlMapConfig.xml配置文件
dtd必须严格按照它的出现顺序来出现

属性加载

抽取数据库属性配置文件-属性加载

说明:先加载内部标签,再加载外部属性文件,名称一致时,会替换内容。

别名配置

映射文件加载

day02-输入输出映射.动态sql-关联查询.mybatis整合Spring,逆向工程
输入映射:传递包装的pojo
编写queryvo

mapper.xml文件

测试类

输出映射-resultMap
当数据库表字段名称和pojo定义的属性名称不一致时
第一种解决方案:(sql查询语句设置别名)

第二种解决方案:(设置resultMap类型)
说明:若仅是单表查询,而非关联查询,那么result标签中无需配置所有表字段,只需要配置名称不一致的字段即可。

动态sql
if标签

where标签
上面的sql还有where 1=1这样的语句,很麻烦
可以使用where标签进行改造

sql片段
sql中可将重复的sql提取出来,使用时用include引用即可,最终达到sql重用的目的。


foreach标签
向sql传递数组或List,mybatis使用foreach解析
改造queryVo


测试类

关联查询
商品订单数据模型

一对一关联查询-ResultType

order作为主表,故继承order,然后补充user相关信息


一对一关联查询-ResultMap



一对多关联查询-ResultMap


测试类

Mybatis整合spring


spring的配置文件:applicationContext.xml(数据库连接池:dbcp)

DAO开发
传统Dao开发




动态代理Dao开发


逆向工程
下载逆向工程的zip包,解压,导入项目到eclipse中

逆向工程代码执行后,可自动生成mapper(接口和映射文件)和pojo

测试类

补充知识:<trim>标签的使用,前缀左括号,后缀右括号,用逗号分隔,最后的多余的逗号自动去掉

课外知识补充:
使用插件生成dal文件
-
idea安装better-mybatis-generator插件
- 本地安装
- 线上安装

-
在idea中配置对应的数据库连接信息
-
选择对应的表,单击右键,选择mabatis-generate
-
在弹窗中做如下勾选配置
-
点击OK,即可生成对应的mapper,model,xml文件
浙公网安备 33010602011771号