MyBatis基础知识

1.关于框架

框架相当于一个软件的半成品,一个框架中包含了软件开发过程中所需要的多个通用功能(组件),使用框架进行项目开发更加容易

2. 什么是MyBatis

mybatis是一个持久层的框架,它支持自定义sql,存储过程,高级映射;几乎消除了所有的jdbc代码;它是一个半自动化的持久层框架,因为支持自定义sql所以速度更快,效率更高

3.MyBatis的优点

相比较传统JDBC而言,MyBatis将sql语句与代码解耦,灵活性更高,只需修改对应的sql即可

4. MyBatis的常用API

  1. SqlSessionFactoryBuilder:SqlSessionFactory构建器,可以从配置文件(xml)或者java程序中进行构建,提供了五中build方法
    1. SqlSessionFactory build(Reader reader)
    2. SqlSessionFactory build(Reader reader, String environment)
    3. SqlSessionFactory build(Reader reader, Properties properties)
    4. SqlSessionFactory build(Reader reader, String env, Properties props)
    5. SqlSessionFactory build(Configuration config)
    注意:其中第一个最常用,允许从配置文件中加载资源(Resources.getResourceAsReader(“configuration.xml”))
  2. SqlSessionFactory:SqlSession工厂,用来获得SqlSession(可以根据需要,随意组合重载方法的参数)
    1. SqlSession openSession():默认的获得session的方法;该方法会自动创建一个带事物(不会自动提交)的session对象
    2. SqlSession openSession(boolean autoCommit):设置是否自动提交
    3. SqlSession openSession(Connection connection):提供自定义连接获得session
    4. SqlSession openSession(TransactionIsolationLevel level):设置事务隔离的级别
    5. SqlSession openSession(ExecutorType execType,TransactionIsolationLevel level):
    6. SqlSession openSession(ExecutorType execType):
    ExecutorType 这个枚举类型定义了 3 个值:
    1. ExecutorType.SIMPLE:这个执行器类型不做特殊的事情。它为每个语句的执行创建一个新的预处理语句。
    2. ExecutorType.REUSE:这个执行器类型会复用预处理语句。
    3. ExecutorType.BATCH:这个执行器会批量执行所有更新语句,如果 SELECT 在它们中间执行还会标定它们是必须的,来保证一个简单并易于理解的行为。
    7. SqlSession openSession(ExecutorType execType, boolean autoCommit)
    8. SqlSession openSession(ExecutorType execType, Connection connection)
    9. Configuration getConfiguration();获得MyBatis的配置
  3. SqlSession:应用程序与MyBatis的会话,常用方法:
    1. Object selectOne(String statement, Object parameter):查询单个对象
    2. List selectList(String statement, Object parameter):查询满足条件的全部对象
    3. int insert(String statement, Object parameter):插入
    4. int update(String statement, Object parameter):修改
    5. int delete(String statement, Object parameter):删除
    6. void clearCache():清除SqlSession级别的缓存
    7. void close():关闭session

5.MyBatis配置文件

配置文件的作用:配置数据库连接的环境以及映射文件;
1. 放在src/main/resources目录下
2. 配置环境 <!-- 配置环境 -->
<environments default="development">
<environment id="development">
<!-- 事务控制的类型 -->
<transactionManager type="JDBC" />
<!-- 设置连接池,从连接池中获得连接,提升数据库连接性能 -->
<dataSource type="POOLED">
<!-- 驱动类型 -->
<property name="driver" value="com.mysql.jdbc.Driver" />
<!-- 要访问的数据库 -->
<property name="url" value="jdbc:mysql://localhost:3306/book" />
<!-- 数据库用户名 -->
<property name="username" value="root" />
<!-- 数据库连接密码 -->
<property name="password" value="0325" />
</dataSource>
</environment>
</environments>

  1. 映射文件mapper(父标记mappers),用来映射具体的XML文件

    示例:<mapper resource="com/oracle/dao/BookDaoMapper.xml"></mapper>
    说明:resource属性对应具体映射文件的路径位置
    另外:当使用Dao接口+Annotation方式获得Dao时,需要使用包映射
    示例:<package name="com.oracle.dao"/>

猜你喜欢

转载自blog.csdn.net/dingse/article/details/79531109
今日推荐