Mybatis框架学习笔记 lesson1

Mybatis

   操作数据库 ORM框架(配置映射  输入参数 输出参数映射) 

   编写sql语句, sql语句----方法映射

   JDBC     返回的是结果集

   Mybatis: 返回的是对象


引入JAR包

asm-3.3.1.jar

cglib.2.2.2.jar

commons-logging-1.1.1.jar

javassist-3.17.1.-GA.jar

log4j-1.2.17.jar

mybatis-3.2.0.jar

mysql-connctor-java-5.1.16-bin.jar

slf4j-api-1.7.2.jar

slf4j-log4j12-1.7.2.jar


SqlMapConfig.xml

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

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


     

 


   

   

alias="d"/>

   

    

default="mysql">

 

   

   

     

 

 

 

 

 

 

 

   

   

     

 

 

 

 

 


     


DeptMapper.xml

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

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

   

   

      insert into dept(dno,dname,loc) values(#{dno},#{dname},#{loc})

   

   

   

   

   

   

   

     delete from   dept where dno=#{value}

   

   

   

    update dept set dname=#{dname},loc=#{loc} where dno=#{dno}

   


    
     
     
     
     

   
   
   


封装SessionUtils

public class SessionUtils {

static  SqlSessionFactoryBuilder builder=null;

static SqlSessionFactory sqlSessionFactory = null;

static{

try {

InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");

builder = new SqlSessionFactoryBuilder();

sqlSessionFactory = builder.build(in);

} catch (IOException e) {

e.printStackTrace();

}

}

public static SqlSession  getSession(){

SqlSession session= sqlSessionFactory.openSession();

return session;

}

}

Mapper代理开发

  Mapper代理本质就是一个接口,符合一定规则就会自动生成

  代理接口的实现类.


 符合以下四个要求:

    •     namespace==DeptMapper的路径
    •     Mapper代理接口的方法名与映射文件id保持一致,
    •     Mapper代理接口中方法的参数与映射文件parameterType一致
    •     Mapper代理接口中方法的返回结果与映射文件resultType一致 

   Mybatis就会自动生成 DeptMapper的实现类.

接口

public interface IDeptDao   {

public Dept findById(int id);

public void   delete(int id);

public void  update(Dept d);

public void insertDept(Dept d);

}


测试

SqlSession session = SessionUtils.getSession();

//返回的是DeptMapper代理的实现类对象

DeptMapper mapper = session.getMapper(DeptMapper.class);

List list = mapper.selectAll();

session.close();

//增删该需要事务

mapper.insertDept(dept);

session.commit();




你可能感兴趣的:(Mybatis框架学习笔记)