Mybatis进阶

输入映射

Mybatis进阶_第1张图片

pojo包装类的使用实例

Mybatis进阶_第2张图片

UserMapper接口

user.xml配置文件中

测试:

Mybatis进阶_第3张图片

输出映射

输出简单类型:

UserMapper接口

User.xml配置文件

测试:

Mybatis进阶_第4张图片

 

 

输出pojo列表

Mybatis进阶_第5张图片

为了简便先做乤两步

在sqlMapConfig配置文件中Mapper映射器的配置

在sqlMapConfig配置文件中为pojo配置别名

实例:如表中的pojo属性名为userId,sql查询列名为user_Id,若表中user_Id有值但此时查询出来的userId为空

名称不一致无法映射

解决办法:使用resultMap

创建接口:

Mybatis进阶_第6张图片

创建配置文件:

Mybatis进阶_第7张图片

测试:

Mybatis进阶_第8张图片

 

 

 

动态sql

注意:

实例:使用用户名与性别查询用户信息

接口:

Mybatis进阶_第9张图片

Mybatis进阶_第10张图片

使用以上代码会出现当没有 性别 信息时会报错

解决办法:使用where标签  可以去掉第一个前and

Mybatis进阶_第11张图片

 

sql片段:提取一些公共的片段

提取:

使用:

 

froeach:

根据多个id信息查询用户

方法一:使用包装类

Mybatis进阶_第12张图片

Mybatis进阶_第13张图片

采用第三个

Mybatis进阶_第14张图片

Mybatis进阶_第15张图片

方法二:

Mybatis进阶_第16张图片

Mybatis进阶_第17张图片

方法三:

Mybatis进阶_第18张图片

Mybatis进阶_第19张图片

注意:配置文件collection中的值的配置****

 

 

一对一关联:返回值移动用的是resultMap

在order中添加

记得创建get/set方法

Mybatis进阶_第20张图片

测试:

Mybatis进阶_第21张图片

 

多对多查询

在order中添加

一定要书写set/get方法

编写接口

Mybatis进阶_第22张图片

测试:

Mybatis进阶_第23张图片

 

 

 

Mybatis与spring的整合

1:导入所有需要的包

2:添加配置文件 mybatis:sqlMapConfig.xml    spring:applicationContext.xml

Mybatis进阶_第24张图片

Mybatis进阶_第25张图片

在applicationContext.xml中配置数据库连接池

Mybatis进阶_第26张图片

配置数据库配置文件:db.properties

配log4j.properties

在applicationContext.xml中配置:

Mybatis进阶_第27张图片

创建User的pojo

创建UserMapper.xml文件

Mybatis进阶_第28张图片

创建UserMapper接口

Mybatis进阶_第29张图片

修改sqlMapConfig配置文件

测试:

Mybatis进阶_第30张图片

 

Mapper动态代理开发的加强版:

Mybatis进阶_第31张图片

 

 

 

 

 

你可能感兴趣的:(Mybatis进阶)