【黑马程序员济南】myBatis入门

【黑马程序员济南】myBatis入门

myBatis的简介

MyBatis 本是apache的一个开源项目iBatis, MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

myBatis的配置

在classpath下创建SqlMapConfig.xml,如下:


"1.0"encoding="UTF-8"?>

PUBLIC"-//mybatis.org//DTD

  Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

  

   "development">

      "development">

     

         "JDBC"/>


         "POOLED">

            "driver"value="com.mysql.jdbc.Driver"/>

            "url"value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>

            "username"value="root"/>

            "password"value="root"/>




       "sqlmap/User.xml"/>




SqlMapConfig.xml是mybatis核心配置文件,上边文件的配置内容为数据源、事务管理

在user.xml中添加:


    "findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User">

       select  * from user where id = #{id}



测试实现:

public class Mybatis_first {


    //会话工厂

    private SqlSessionFactory sqlSessionFactory;


    @Before

    public void createSqlSessionFactory() throws IOException {

       // 配置文件

       String  resource ="SqlMapConfig.xml";

       InputStream  inputStream = Resources.getResourceAsStream(resource);


       // 使用SqlSessionFactoryBuilder从xml配置文件中创建SqlSessionFactory

       sqlSessionFactory = new SqlSessionFactoryBuilder()

              .build(inputStream);


    }


    // 根据 id查询用户信息

   @Test

   public void testFindUserById() {

      // 数据库会话实例

      SqlSession  sqlSession =null;

      try {

         // 创建数据库会话实例sqlSession

         sqlSession  =sqlSessionFactory.openSession();

         // 查询单个记录,根据用户id查询用户信息

         User  user = sqlSession.selectOne("test.findUserById", 10);

         // 输出用户信息

         System.out.println(user);

      }catch (Exception e) {

         e.printStackTrace();

      }finally {

         if (sqlSession != null) {

            sqlSession.close();

         }

      }


   }

}

你可能感兴趣的:(【黑马程序员济南】myBatis入门)