mybatis 配置文件

MyBatis: http://mybatis.org

Github: http://github.com.mybatis.

框架是一个提供可重用的公共结构的半成品。框架就是应用程序的骨架。

Stus2 以Web Work 优秀 的设计思想为核心,提供了一个更加整洁的给予MVC 设计模式实现的web应用程序框架,

框架的特点:从逻辑分离出横切关注点的拦截器,减少或者消除配置文件,贯穿整个框架的强大表达式语言。支持可变更可重用的基于MVC模式的标签API。

 

2.Hibernate 框架         

Hibernate 是一个优秀的持久化框架,负责简单化将对象保存到数据库中,或从数据库中读取数据并封装到对象的工作。Hibernate 通过简单配置和编码即可替代JDBC 繁琐的程序代码。Hibernate 已经成为当前主流的数据库持久化框架,被广泛 应用在实际中工作。

3.Spring框架

  •   spring 是开源框架。
  • 是一个轻量级框架,渗透Java EE 技术方方面面。
  • 主要作用:依赖注入容器和AOP 实现存在,提供声明事务、对DAO 层的支持等简单化开发功能。
  • 方便多种等框架集成。
  • SSM 集成框架指的就是基于SpringMVC + Spring + MyBatis 的技术框架,使用这个集成框架是是应用程序更加健壮、稳固、轻巧和优雅,这也是当前最流行的框架                                                               

4. Spring MVC 框架

  • Spring MVC 是Spring 框架提供构建Web 应用程序的全功能MVC模块,融合Spring Web  Flow  ,是结构最清晰的MVC MOdel2 的实现,
  • 拥有高度的可配置性,支持视图技术,定制架构模式。越来越应用互联应用的开发中。

5  MyBatis 框架

   myBatis 是优秀的持久化层框架,在实体类和SQL 语句之间建立映射关系,是半自动化的ORM 实现,其封装要低于HIbernate,性能优越,并且小巧,简单易学,应用广发。

 

6.数据持久化是将内存中的数据模型转换为存储模型,以及储存模型转换为内存中的数据模型的统称。

 

7.数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。

Myabtis 作为持久化层框架:主要思想是将程序大量的SQL 语句玻离出来,配置在配置文件中。实现SQL的灵活性配置。SQL 与程序代码分离,可以不修改代码的情况下,直接在配置文件中修改SQL。

二 、什么是ORM

  对象 / 关系映射 (Object  /Relatetional Mapping ,ORM)是一种数据持久化技术。他在对象模型和关系性数据库之间建立对应关系。并且提供一种机制,通过JavaBean 对象 去操作数据库表中的数据。

 

建立Mybatis 项目 的步骤:

1. 下载mybatis-3.1.1.2.zip 包

2.部署jar 包

3.编写Mubats核心配置文件

4. 创建实体类

5.创键dao接口

6.创建Sql映射文件

7.编写测试类

mybatis-3.5.4.jar  核心包
commons-logging-1.2.jar 日志处理
asm-7.1.jar java字节码的类库
cglib-3.3.0.jar 动态集成Java类或实现接口
javassist-3.26.0-GA.jar 分析、编辑、创建Java字节码的类库
log4j-1.2.17.jar 日志系统
log4j-api-2.13.0.jar 日志系统的封装、对外提供统一的API接口
slf4j-log4j12-1.7.30.jar slf4j对log4j 想应驱动,完slf4绑定log4j
mysql-connector-java-5.1.7-bin.jar 日志包
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4 
 5     <!--引入database.properties-->
 6     <properties resource="dataSource.properties"/>
 7     <!--配置myabtis 的log 实现为 LOG4J-->
 8     <settings>
 9     <setting name="loglmpl" value="LOG4J"/>
10     </settings>
11     <!-- 1.配置环境,默认的环境id为mysql -->
12     <environments default="mysql">
13         <!-- 1.2.配置id为mysql的数据库环境 -->
14         <environment id="mysql">
15             <!-- 使用JDBC的事务管理 -->
16             <transactionManager type="JDBC" />
17             <!-- 配置数据库连接信息(数据库连接池) -->
18             <dataSource type="POOLED">
19                 <property name="driver" value="${driver}" />
20                 <property name="url" value="${url}" />
21                 <property name="username" value="${user}" />
22                 <property name="password" value="${password}" />
23             </dataSource>
24         </environment>
25     </environments>
26     
27     <!-- 2.配置Mapper的位置  去哪找SQL映射文件的路径 -->
28     <mappers>
29         <mapper resource="cn/smbums/dao/user/UserMapper/xml"/>
30     </mappers>
31 </configuration>
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 3     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 4 <!-- namespace 表示命名空间 -->
 5 <mapper namespace="cn.smbms.dao.user.UserMapper">
 6     <!-- SQL语句 -->
 7     <!--查询用户表记录数   resulType SQL语句的返回值类型-->
 8     <select id="count" resultType="int">
 9         select  count( 1) as count  from smbms_user
10     </select>
11 </mapper>
 1  package com.itheima.test;
 2   
 3   
 4   import com.itheima.po.Customer;
 5   import org.apache.ibatis.io.Resources;
 6   import org.apache.ibatis.session.SqlSession;
 7   import org.apache.ibatis.session.SqlSessionFactory;
 8   import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 9   import org.junit.Test;
10  
11  import java.io.IOException;
12  import java.io.InputStream;
13  import java.util.List;
14  
15  /**
16   * 测试类
17   */
18  public class MybatisTest {
19  
20  
21      /**
22       * 根据id 查询信息
23       * @throws IOException
24       */
25      @Test
26      public void  findCustomerByIdTest() throws Exception {
27        // 1.读取配置文件
28          String resource = "mybatis-config.xml";
29          InputStream is = Resources.getResourceAsStream(resource);
30  //        InputStream is = MybatisTest.class.getClassLoader().getaResourceAsStream(resource);
31          // 2.根据配置文集创建SqlSessionFactory sql 会话工厂对象
32       SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
33  
34         // 3.通过SQLSessionFactory 会话对象配置SQLSession对象
35          int count =0;
36           SqlSession sqlSession =null;
37          sqlSession = ssf.openSession();
38          // 4.SQLSession执行映射文件提交SQL语句,并且返回映射结果
39          count = sqlSession.selectOne("cn.smbms.dao.user.UserMapper.count");
40          logger.debug("UserMapperTest count--->"+count);
41          // 打印结果
42          System.out.println(customer.toString());
43          // 5.关闭SQLSession
44          sqlSession.close();
45      }
46  }            

 

posted @ 2020-05-20 22:19  加燕  阅读(261)  评论(0)    收藏  举报