MyBatis精简使用与配置

使用MyBatis首先需要熟悉JDBC的相关知识:

 对jdbc问题总结 

数据库连接

在用的时候打开数据库连接,在不用的时候关闭,频繁的开关和关闭,是一种资源的浪费

解决办法:利用连接池的方式连接数据库

Sql语句写在代码中:

sql写死在java代码中,不利于维护。一旦sql变更,需要重新编译java代码。 

解决办法:将sql写在配置文件中,让程序读取配置文件

结果集遍历

将列名写死在代码中,而且,需要人工的去封装称实体层对象,开发很繁琐。

解决办法: 通过某中机制,将从数据库查询出来的结果,自动的封装到实体类的对象中去

 

 Mybatis

 原理:

                                            

                                                                     

                                             

                                                                       

                                                     

                                                                     

                                                                   

                                                                         

                                               

                                                                                

                                     

 

 

 

1.1.1           

环境搭建:

创建项目,加入jar包:    

                                             

 

Mybatis-config.xml:

                

XXXMapper.xml:

                

 

实体层的属性要和表中的列名一一对应

                 


                 

 

测试类:

                

                 

 

                 


                

                 

 

1.1 Mybatis开发dao两种方式 

1.1.1 原生dao开发方法(接口、实现类)

程序员需要自己去定义接口和接口实现类,在创建接口对象的时候,用的是自定义的接口实现类

 

UserDao  userDao = new UserDaoImpl()

1.1.2 Mybatismapper接口(代理开发方法) 

程序员只需要自己去定义接口,但是接口定义要尊徐一些规则,在创建接口对象的时候,mybatis框架会自动去实现接口,并把接口的对象创建出来

 

 

定义接口要遵循的规则:

1. XXXMapper.xml namespace  要设置成接口全路径

 

 

 

2.XXXMapper.xml中标签id 要和接口的方法名保持一致

3.XXXMapper.xml中标签 parameterType  就是接口方法的参数类型

4.XXXMapper.xml中标签 resultType   就是接口 方法返回值

 


测试:

添加测试类的方法:

在类上右击----new----other----输入junit----选择 junit test case ---next—next(选择要用junit测试的方法)---finish

 

 

 

 

1.1 Mybatis的配置文件mybatis-config.xml

Properties  属性

 


Settings 全局配置参数

用的的时候就去设置,不用就不用设置。一般情况都是使用默认配置

typeAliases 类型别名

给单独的一个类其别名

给某一个包下所有类起别名,别名就是类名

typeHandlers 类型处理器 :把java中的数据类型转换成jdbc的数据类型,也可以把jdbc数据类型转换为java的数据类型

 

mappers 映射器

通过resource 属性加载XXXmapper.xml文件

通过接口名加载XXXmapper.xml文件。规则要记住

同时加载多个mapper.xml文件

1.1 Mybatis核心 

1.1.1 输入映射 

通过parameterType进行映射的,他的类型可以是基本数据类型,自定义的类,包装类

 

自定义的包装类:

Mapper的配置

接口方法定义

测试




1.1.1 输出映射 

resultType : sql语句中的列名和实体类中的属性名一致的时候,查询结果可以自动封装到实体类的对象中,一旦给列起别名或者只查询某几列,实体类的属性就有为null的时候。

 

resultMap : 当查询sql语句和实体类的属性名不一样的时候。

 

Mapper:

接口


测试


1.1 Mybatic动态sql

If判断

Sql片段

foreach


接口定义

测试




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值