其他分享
首页 > 其他分享> > Mybatis框架入门

Mybatis框架入门

作者:互联网

首先,先说一下写这个入门程序的需求与开发步骤:

  1. 需求:使用Mybatis从数据库中查询出数据。   
  2. 开发步骤:   
    1. 准备MySQL数据库,创建表结构添加一些数据
    2. 创建Java工程,导入开发用的jar包
    3. 编写实体类,和表结构对应,用来进行数据的封装
    4. 编写映射配置文件(其中包括数据库连接信息),加载映射配置文件
    5. 编写入门的代码

那前三步就不说了有一些基础就可以办到

在写配置文件的时候,主要编写两种配置文件,第一种为主配置文件,管理其他和接口对应的配置文件。

在编写主配置文件时,主要有两点:

  1. 配置环境们(需要设置默认环境)
    <environments default="mysql">
  2. 配置具体环境
    <environment id="mysql">
    1. 配置事务类型
      <!--配置事务的类型,使用本地事务的策略-->
      <transactionManager type="JDBC"></transactionManager>
    2. 配置是否使用数据库连接池
      <!--是否要使用连接池,内置的连接池-->
      <dataSource type="POOLED">
          <property name="driver" value="com.mysql.jdbc.Driver" />
          <property name="url" value="jdbc:mysql:///mybatis_01" />
          <property name="username" value="root" />
          <property name="password" value="root" />
      </dataSource>
    3. 引入映射配置文件
      <mappers>
          <mapper resource="mappers/UserMapper.xml" />
          <mapper resource="mappers/AccountMapper.xml"/>
      </mappers>

在编写映射配置文件的时候,文件名与Mapper接口(也可以说是Dao接口为持久层接口)名要一致(算是一种规范).通过命名空间来找到对应Mapper。

其对应id为其对应的方法,resultType为返回值类型。

mapper.xml的规范
<?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标签中添加命名空间
<mapper namespace="cn.mapper.UserMappper"></mapper>
在select标签内写对应的select语句

<select id="findAll" resultType="cn.tx.domain.User" >
    select * from account
</select>

最后进行测试:

  1. 加载主配置文件(resources)
    InputStream inputStream= null;
    SqlSession session = null;
    AccountMapper accountMapper = null;
    UserMappper userMappper =null;
    //@Before注释是将被注释的代码放在最前面执行
    @Before
    public void init() throws IOException {
        inputStream= Resources.getResourceAsStream("SqlMapConfig.xml");
        //创建新的会话工厂
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
        //获取会话
        session = factory.openSession();
        //获取相应的代理对象
       // accountMapper = session.getMapper(AccountMapper.class);
        userMappper = session.getMapper(UserMappper.class);
    }
    //@After注释是将被注释的代码放在最后执行进行收尾工作
    @After
    public void destory() throws IOException {
        session.close();
        inputStream.close();
    }
  2. 创建会话工厂(sqlsessionFactory)
  3. 通过工厂获取(sqlsession)
  4. 获取代理对象进行操作
    @Test
    public void test(){
        //具体执行的操作
        List<Account> accounts = accountMapper.findAll();
        for (Account account : accounts) {
            System.out.println(account);
        }
    }

 

标签:入门,框架,inputStream,session,Mybatis,编写,null,对应,配置文件
来源: https://www.cnblogs.com/long-java/p/16314377.html