Java_Spring----My Batis

Java- My Batis

==================MyBatis简介======================

1、MyBatis简介

    iBatis-->Apache-->Google(MyBatis)
    MyBatis是对JDBC技术的封装,用于访问数据库操作

-封装获取连接,执行SQL,释放连接过程
(规则:将连接参数卸载Mybatis主配置文件中)
-封装了根据SQL生成Statement,给SQL设置参数值
(规则:在SQL编写时利用#{属性}替代?.)

    Cost对象-->#{属性}表达式提取参数信息
    insert into cost (name,duration,unit_cost)
    values(#{name},#{duration},#{unit_cost})

-封装了将ResultSet数据封装成实体对象的过程
(规则:默认查询结果集字段名与实体对象属性名一致)
select..from

cost_idname
1zzz
2bbb

//获取connection
//写一个SQL,获取Statement
//设置参数,执行SQL
//释放connection

2、MyBatis体系结构

  • SqlMapConfig.xml
    作用:存储连接Db参数;定义存储SQL的XML文件
  • 实体类
    作用:作为增删改SQL输入参数;作为查询的返回类型
  • SQL定义文件
    作用:存储SQL语句
  • SQLSession
    作用:执行SQL操作

3、MyBatis主要API

  • SqlSessionFactoryBuilder加载SqlMapConfig.xml
  • SqlSessionFactory
  • SqlSession

4、MyBatis的基本应用

MyBatis应用

5、Mapper映射器接口

EmpMapper.xml–>Mapper接口(Dao接口)
–>MyBatis生成实现类(Dao实现)
一套接口实现规则,程序员按该规则定义接口,
MyBatis就可以动态生成该接口的实现类。

  • SQL定义文件的格式
<mapper namespace="对应的接口类型">
<mapper namespace="dao.EmpDao">
  • 定义接口方法规则
    SQL定义的id名对应接口方法名
    parameterType类型对应接口方法参数类型
    resultType类型对应接口方法返回类型

单行: resultType
多行: List<resultType类型>
  • EmpDao dao = session.getMapper(EmpDao.class);
EmpDao dao = $Proxy4对象();

public class $Proxy4 implements EmpDao{
   public List<Emp> findAll(){
      return session.selectList("findAll");
   }

   public Emp findById(int id){
      return session.selectOne("findById",id);
   }

}

resultType=”entity.Emp”:默认结果集和属性名称一致才能封装数据
SELECT * FROM EMP
表:id,name,age
结果集:id,name,age
Emp:eid,ename,eage
//利用SQL别名方式解决实体属性和表字段名称不一致

SELECT id eid,name ename,age eage
FROM emp

表:id,name,age
结果集:eid,ename,eage
Emp:eid,ename,eage

public class Emp{
     private Integer eid;
     private String ename;//与表字段一致name
     private String eage;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值