MyBatis

MyBatis
一:概念:
什么是MyBatis?
是一个ORM框架,对JDBC做封装;让程序员更加方便的对数据库进行增删改查操作
 
ORM框架:
首先ORM框架是一个统称,ORM框架包括:Mybatis/MyBatis Plus /Sprig Date Jpa/Hibernate等dao层框架
 
ORM:Object Relationship Mapping
对象关系映射
 
Mybatis是一个对象关系映射框架
 
这一类框架完成一个很重要的功能:
 
把关系型的数据映射成对象,只要是能完成这种功能的框架,我们都统称为ORM框架
0
我们发现,不断地学习新的框架,不同的框架不断的帮我们减少代码量
我们程序员写的代码就越来越少,越来越重要
最终的结果就是我们的程序员只写核心代码,或者涉及到业务逻辑的代码
剩下的代码都交给框架来实现
 
怎么用?框架的搭建
很重要,必须自己会搭建
新建项目
0
添加依赖
0
 
3.编写数据库的配置文件
这一步并不是必须的,这么写比较灵活
一会讲我为什么不是必须的
 
0
 
4.需要日志文件的配置文件
把日志信息打印到控制台
 
0
 
5.编写MyBatis的配置文件
可以从官网找
 
0
赋值即可,对内容进行修改
 
0
 
0
 
 
不建议这么写,不够灵活
0
 
配置日志
 
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 配置database.properties--> <properties resource="database.properties-"></properties> <!-- 配置mybatis是log用的是log4j--> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${user}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> //这个是根据自己文件的路径配置 <mapper resource="org/mybatis/example/BlogMapper.xml"/> </mappers>
 
我们可以配置多个环境,例如这里配置两个环境,我们可以通过配置default绝对mybatis运行的时候到底使用哪个环境
不同的环境使用的场景不一样,例如有的环境用于测试,有的环境用于开发
 
 
 
0
 
我们后期会使用第三方的连接池
有了连接池之后,我们程序员不需要手动创建连接池也不需要手动释放连接池,又省了了一些代码
0
 
0
 
后期使用c3p0,dbcp,druid等优秀的第三方连接池
6.创建数据库
0
 
0
 
0
 
8.编写接口
其实这一步在这里不是必须的
后面的三个框架整合完毕,MyBatis是面向接口编程,会根据接口动态生成dao层的实现类
这里是为了养成面向接口的实现的习惯,我们先把接口写上
 
0
 
写与接口对应的映射文件
映射文件的作用
1.写与接口对应的sql语句
2.定义映射规则
调用方法的时候,最终一定是要执行对应的sql语句
所以我们把sql语句写在对应的映射文件中
 
0
 
与Order相关的sql写在OrderMapper.xml中;与Role相关的sql语句写在RoleMapper.xml
如果乱写,别人是找不到的sql语句的
所以我们按照约定
 
映射文件的内容可以从官网上找
 
0
 
可以动态成成接口的实现类
 
0
 
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zhiyou.mapper.UserMapper"> <!-- sql语句--> <select id="count" resultType="int"> select count (*) as count from smbms_user </select> </mapper>
 
 
如果此sql可以正常的执行,证明框架搭建成功
10,在配置文件中配置映射文件的位置
 
0
 
 
0
 
11,测试
 
 
MyBatis链接数据库的成功的标志是
创建SqlSession对象
Connetion conn = DriverMananger .getConnection(url,name,pwd)
MyBatis 对原始的conn做了一个封装
如果建立成功,会返回一个sqlSession实例
否则就返回null
所以我们只需要看返回的sqlSession是不是null即可
在这里用到了工厂模式
所以想要获取sqlSession,需要先获取sqlSessionFactory实例
 
 
 
0
 
 
路径应该是对的,为什么报错呢
是因为maven会帮我们打包程序
在打包的时候默认不会打包java路径下的非java代码
解决问题:
manve里添加
 
0
 
0
 
12,继续测试
建立连接之后,可以执行sql语句
 
0
 
0
 
posted @ 2022-05-17 16:01  码农在广场  阅读(28)  评论(0编辑  收藏  举报