重拾java之mybaties

mybaties基于java的持久层框架,内部封装了jdbc
mybaties=ibaties3.0以后的版本,是半自动化的持久层框架
SQL与java编码分离,sql是开发人员控制。

什么是动态SQL?
同一个dao方法,根据不同的条件可以表示不同的SQL语句。主要是where语句有变化。使用mybatis提供的标签,实现动态语句SQL功能。
主要是if,where,foreach,sql.使用动态SQL的时候,dao方法的形参使用java对象
JDBC访问数据库的优缺点:

优点:直观好理解
缺点:创建好多对象;注册驱动;执行SQL ;把Student转为list集合;关闭资源;sql语句和业务逻辑混在一起

mabites能做什么?
1.注册驱动
2.创建jdbc中使用的connection,
3.执行SQL,得到resultset
4.处理resultset,把数据集中的对象向转为java对象,同时还能把java对象放到放入list集合里
5.关闭资源
6.实现java代码和SQL语句解耦合。

实现步骤:
0.创建student表(id,name,email,age)
在这里插入图片描述
1.新建maven项目
2.修改pom.xml文件(mybaties依赖,mysql驱动,junit),在build加入资源插件
在这里插入图片描述

3.创建student实体类,定义属性,属性名和类名一致
在这里插入图片描述

4.创建dao接口,定义操作数据库方法
在这里插入图片描述

5.创建xml文件(mapper文件),写SQL语句的(mybaties框架推荐是把SQL语句和java代码分开),mapper文件,定义到和dao接口同意目录下,一个表一个mapper文件
使用dao的代理要求:
mapper文件中的namespace:必须是dao接口的全限定名称
mappre文件中标签的id是dao接口中的接口名称
在这里插入图片描述

6.创建mybaties的主配置文件(xml文件)
1)创建链接实例数据源的datasource对象
2)指定其他mapper文件的位置,使用<mapper resource="">
在这里插入图片描述

7.创建测试的内容(此处以一个功能为例子)
1)使用main方法测试mybaties访问数据库
2)也可以使用junit测试访问数据库

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值