学习笔记之mybatis(一)

mybaties是什么MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

需要mybaties的jar包

mybaties使用过程如下

然后再java类中实现下列步骤

1.首先需要用一个xml文件来定义环境变量,还有代理对象等
2.还需要一个xxxmapper文件,但是我现在先用的ibaties所以,建立一个映射文件为User.xml
3.创建会话工厂,并将config.xml文件传递
4.通过会话工厂得到sqlsession
5.通过sqlsession来操作数据库
6.释放资源。

接下来每个部分详解:

1.xml文件定义环境变量,名称定为Sql.map.Config.xml

里面要配置如下环境内容:

学习笔记之mybatis(一)_第1张图片

2.建立代理文件

我起名为User.xml,这个里面是我们的核心部分,将具体的sql语句就是在这里面进行处理

 
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">  

  

 
   
   
    
   
    
   
    
   
    
   
   
   
     select last_insert_id();
     

         insert into student.mb_test1(name,book) value(#{name},#{book})





  delete from mb_test1 where id=#{id};





  update mb_test1 set name=#{name},book=#{book} where id=#{id}

tips:resultType是应用#{}时里面的类型为基本类型,可以将${}里的名称随便赋值,如果为po类型时,要和po类中的名字相匹配。

如果为${}时则${}里必须为value

要将这个文件配置到环境配置文件中,也就是SqlMapConfig:

学习笔记之mybatis(一)_第2张图片

完成后就进行java类里的处理

3. /创建会话 工厂,并传递config.xml的内容
     //1.1 先把xml文件的名称变为string字符串,直接可以操作将xml文件转为输入流
     String resource ="sqlMapConfig.xml";
         //1.2 将xml文件转为输入流
      InputStream inputstream = Resources.getResourceAsStream(resource);
     //1.3 解析xml文件需要通过一个输入流解析

     SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputstream);

4.通过会话工厂的到sqlsession

 User user3=new User();//要增加人的信息,因为是主键自动增长所以不用设置主键


user3.setName("zby");
user3.setBook("mybaties");

SqlSession sqlSession =sqlSessionFactory.openSession();

5.进行操作数据库,这里以增加为例讲解

sqlSession.insert("test.insertUser", user3);这是进行增加的语句,第一个参数时statement类型的,因为sql会话无法直接操作数据,只能交给执行器来执行,执行器将其封装为一个statement对象来操作sql语句,所以第一个参数是命名空间+"."+代理文件里设置好的语句。第二个参数是他的接受值,这里加入的是一条信息,所以要用po加入。

然后://提交事务

sqlSession.commit();

最后/:

/释放资源

sqlSession.close();

你可能感兴趣的:(学习笔记之mybatis(一))