mybatis学习

mybatis是持久层orm框架 对原生的jdbc进行了封装
原生的jdbc:
1加载数据库驱动 Class.forname(com.mysql.jdbc.Driver)
2创建数据库连接
Connection con=DriverManager.getConnection(“jdbc:mysql:///localhost:3306/test”,”root”,”password”)
3编写sql
String sql =
4对sql进行预编译
PreparaMantent pre=con.prepareStatement()
5执行sql并获得结果集
Result re=pre.excuteQuery()
6遍历结果集
while(re.next){}
7关闭数据库资源
Mybatis执行流程
1创建sqlSessionFactory通过流的方式获得sqlMapConfig全局配置文件
InputStream stream=Resource.getResourceAsStream(sqlMapConfig)
2创建sqlSessionFactory
sqlSessionFactory sqlSessionFactory=sqlSessionFactory.builder.build(stream)
3创建sqlSession
SqlSession sqlSessionsqlSessionFactory.open();
4.通过sqlSession执行mapper中的sql
sqlSession.selectOne(namespace.方法id)
mybatis对jdbc进行了封装 首先是数据库的连接 使用数据库连接池进行连接,提供了查询结果集映射成对应对象 mybatis全局配置文件sqlMapConfig
properties引入外部配置文件
settings全局配置
typealiaes别名配置
可以配置单个别名
< typeralias type=”类路径” alias=”别名”>
可以配置扫描报名
< package name=”包名”>
关系映射器typeHandler
环境envirments
子环境 envirment
插件plugin
映射器mapper
mapper的配置
< mappers>
< mapper resource=”“>
< mapper url=”“>
< mapper class=”“>以上三个都是引入一个配置文件 第三个实在使用mapper代理开发的时候使用 在使用mapper代理开发的时候 要注意 映射器和接口要处于一个包下 mapper中的namespace要和接口路径对应
< package name=”引入包名”> 省去反复配置的繁琐
< /mappers>
mybatis语法
resultMap
< resultMap type=”具体要映射的那个对象” id=”resultMap的唯一标识”>
< id=”查询结果集的唯一标识” column=”对应实体类中的属性”>
< result type=”查询结果” column=”对应实体类中的属性”>
< /resultMap>
< if text=”条件的判断”>
< where>把判断标签if嵌套在where中 where会自动的去掉第一个and
< foreach collection=”传递进来的属性” item=”每次遍历生成的字段” open=”开始遍历进行的拼接” close=”结束时拼接的标签” sparetor=”每次要拼接的”>标签 用于处理批量操作 包括批量查询和批量删除等
< sql id唯一标识>动态sql可在别处通过< include refid引入>
返回自增主键的最后的id
< selectKey keyProperty=”id” order=”after” resultType=”int” >
select last_insert_id()
< /selectKey>
返回非自主键
< selectKey keyProperty=”id” order=”before” resultType=”int”>
select uuid()
< /selectKey>
mybatis两种开发方式:
dao开发和mapper代理开发
原始dao开发 需要编写dao和dao的实现类 在实现类中需要引入sqlSession来执行sql
mapper代理开发 需要通过sqlSession获得mapper代理对象即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值