0
点赞
收藏
分享

微信扫一扫

MyBatis框架基础

潇湘落木life 2022-03-12 阅读 35

框架是一个半成品软件,有很多基础功能就不用我们书写了,它几乎避免了所有的jdbc代码和手动设置参数以及对结果集中数据的处理

环境准备

1.添加数据库与mybatis的驱动实现类jar包
2.创建数据库里的表,与java中对应的模型
4.mybatis主配置文件创建在Resource目录中,文件取名规范mybatis-config.xml
5.在官网拷贝配置文件的约束
6.添加环境配置标签environments default = “选择子标签id作为默认环境”
7.在环境标签内配置事务管理器transactionManager type=“JDBC” 这里的jdbj是内置事务类的别名
8.在环境标签内配置连接池 dataSource type = “POOLED” 这里的pooled也是一个连接池类的别名
9.在连接池标签中配置数据库四要素 标签property name=“driver” value=’’“数据库驱动类的全限定名” 其他要素如此类似
10.sql语句的映射文件要在mappers中添加mapper标签 resource=映射文件的全限定名加拓展名

映射文件

mybatis中访问sql语句就是存在这种映射的xml文件中的,映射文件也需要在mybatis官网中拷贝约束,并且需要对这个文件进行空间命名,以此来区分映射文件的唯一 mapper namespace = “一般书写为映射文件的全限定名”,在映射文件中书写增删改查标签 并对标签的id取名作为映射文件中sql语句的唯一标识,sql语句中的值使用一种表达式,#{值}并在标签中告诉语句这是哪个类中的属性,查询语句需要告诉它取出的数据封装成什么类型

mybatis的会话使用

把核心配置文件加载到工厂创建对象中得到一个工厂对象
通过new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream(“mybatis的核心配置文件”)) 得到一个工厂对象,再通过工厂对象的openSession()获得一个会话对象,使用会话对象调用增删改查的方法,指明一个sql语句的位置,就是映射文件的空间名字加里面的sql id ,再传入语句需要的实际参数,将事物提交,将会话关闭归还连接对象

mybatis的执行流程

加载配置文件的信息封装成对应的对象
通过访问到数据库的信息创建一个工厂对象
从工厂对象中得到会话对象,再执行sql语句
将sql语句编译
使用预编译语句对象,来设置进去实际参数,使用内省来得到属性名和属性值

获取插入数据,数据库中生成的主键

在sql语句标签中,设置useGeneratedKeys为true 表明要使用生成的值 keyproperty=要赋值给我插入数据对象中的一个字段, keycolumn= 我需要数据库中哪一列的的值 设置完后,调用这个sql语句就会将主键值赋值给对象中的字段

类型别名

在配置文件中将一个类的全路径用一个别名替代,在映射文件中就可以直接使用别名告诉语句参数的类型,
在配置文件中使用typeAliaser标签再使用package name="指定一个根包下的某个包"这个包下的所有模型都可以使用别名代替

日志管理

将日志文件的jar包拷贝到项目中,书写一个名为log4j.properties的文件在资源文件夹中,在mybatis官网拷贝配置,将第logger的路径换成我们项目的包名路径就能使用了,每次运行都会显示执行的sql语句等信息

抽取数据库的四要素

由于主要配置文件中的内容太多,但四要素可能偶尔需要改动,所以将四要素,独立写成一个properties文件,将这个文件在主配置文件中关联,使用properties标签,resource = “四要素文件名"再在主要配置文件中四要素的value中使用”${四要素文件中对应的key名称}"

举报

相关推荐

0 条评论