百木园-与人分享,
就是让自己快乐。

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);
        }
    }

 


来源:https://www.cnblogs.com/long-java/p/16314377.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Mybatis框架入门

相关推荐

  • 暂无文章