一. Mybits简单使用

  1. Mybits简单介绍
    MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
  2. Mybits安装
    Mybits只用将对应的jar包导入项目,就可直接使用其中的类来管理数据库访问层次的代码。使用maven项目的话,将其服务添加到pom.xml中。
  3. 使用规则
  • 首先需要创建有关mybits的配置xml文件。
    大致如下所示:




	
	
	
	
		
		
			
			
			
			
				 
				
				
				
				
			
		
	
	
	
		
	

使用mybits的持久化操作类之前,都需要加载配置文件,因此,需要首先创建,当然。对于其中的有关配置还有好多,上面代码只是最基本的配置。

  • 建立映射文件
    上面的配置文件中可以看到属性,中间需要添加对应的映射文件具体位置。简单的代码如下:



  
    insert into AdminInfo(Aid,Aname,Apwd,Alevel) values(#{aid},#{aname},#{apwd},#{alevel})
  
  
  
  
  
      update AdminInfo set Aname=#{aname},Apwd=#{apwd},Alevel=#{alevel} where Aid=#{aid} 
  
  
  
     delete from AdminInfo where Aid=#{aid}
  

首先介绍一下该类映射文件中需要填入哪种内容。答案显而易见,填入的是sql语句,对于不同的sql语句使用不同的元素进行书写。不同的元素中又有不同的属性,以保证查询返回结果和检索条件的格式以及内容无误。
id是为改次的操作定义名字
useGeneratedKeys 用与(insert和update使用) 对于自动递增的列,可以设置为true,使用数据库自动生成
parameterType 用于表示传递数据或者索引条件的格式,可以是自定义类或者其他数据类型。类需要写出完全路径,否则无法识别

resultType 用于定义返回数据的类型,mybits可以直接将查询到的数据转化为相应的类或者是列表。

这三种是代码上用到的数据类型,这里只是使用这些元素简单实现了insert, update, delete , select。

  • 上面的xml文件穿件完毕之后,接下来就是类中的具体秩序化操作
    首先介绍一下mybits所需的持久化操作类 SqlSession 以及 SqlSessionFactory。

SqlSessionFactory
每一个Mybits应用程序都以一个SqlSessionFactory对象为核心,一旦被创建,应该在执行程序期间都存在。
常用方法 SqlSession openSession()

SqlSession
持久化操作对象,是应用程序和持久存储层之间执行交互操作的一个单线程对象。包含以数据库为背景的所有执行sql操作方法,底层封装了JDBC链接,可以直接执行已经映射的SQL语句。每一个线程都应该有自己的sqlsession实例,并且不被共享。
该实例的引用不可放在一个雷的静态字段和实例字段中,或者是放在任何类型的管理范围。sqlSession使用之后,需要尽快关闭。

简单使用,代码如下:

SqlSession session = null;
		try (InputStream is = Resources.getResourceAsStream("mybatis.xml");){
			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
			session = sqlSessionFactory.openSession();
			AdminInfo adminInfo = new AdminInfo("16", "asda", "asda", "asda");
			session.insert("mapper.save", adminInfo);
			session.commit();
			List list = session.selectList("mapper.select","asda");
			list.forEach(row ->System.out.println(row));
			session.delete("mapper.delete","11");
			session.commit();
			
	     }catch(Exception e){
	    //	 session.rollback();
	    	 e.printStackTrace();
	     }finally {
	    	 try {
			if(session!=null) session.close();
			}catch(Exception e) {
				e.printStackTrace();
			}
		}

SqlSession的使用需要首先创建inputStream类,将配置文件写入,只有使用SqlSessionFactory来开启SqlSession。
然后就是直接调用session中的方法,将映射文档中的元素调用,传入检索条件,或者是接收返回的数据。对于需要更新数据库的操作(insert,update,delecte)需要调用commit()方法。

注意:使用过后的session,需要尽快关闭。

你可能感兴趣的:(Mybits)