Mybatis框架基础搭建

一 Mybatis   基于ORM   数据 持久层框     半自动的映射操作

 帮助咱们 实现 对象 和 数据集 的映射  但需要自己手动写sql 语句

 灵活 易用  高效  

二 . Mybatis  框架 的 使用

1.导入包     mybatis-3.1.1.jar   

  配置文件   核心文件 sql-config.xml    jdbc  连接 或者 池   

             映射文件 mapper    增删改查 的 sql 语句

2.基本使用 演示

核心 类

SqlSessionFactoryBuilder

SqlSessionFactory

SqlSession

 

增删改查

增加

 xxMapper.xml 中 添加 sql  

<insert id="addProvince"  parameterType="com.pojo.Province"  >

    insert into province (pid,pname) values(${pid},#{pname})                             

</insert>


Province p=new Province();

p.setPid(2);

p.setPname("嘻嘻嘻");

sqlSession.insert("com.pojo.Province.addProvince",p);

sqlSession.commit();

              ${} 和#{} 区别  ${} 属于 statement  是 sql 拼接  取值时 从属性 取值

               #{} 属于 preparedStatement 是预处理方式  取值时 比较随意

 

起别名

 

查询
 

<select >

select * from xxx where  条件

</select>

绑定 dtd 文件   可以出提示

Mybatis 框架   

mybatis 半自动 自己写 sql      xml  

hibernate 全自动 基本不用写 sql   hql    注解形式 @

SqlSessionFactoryBuilder  类

SqlSessionFactory   接口    工厂类

SqlSession        接口    增 insert("sqlid",对象值);   删delete("sqlid",对象值)

                         改 update("sqlid",对象值);  

查 selectList("sqlid",对象值); 以集合形式返回

   selectOne("sqlid",对象值); 以对象形式 返回

   selectMap(); 以 key-value 对形式 返回

ResultMap 节点

 自定义的映射 结果

通常  配置 1对多 或多对一   ,列名和 属性名不符  使用

    注意 指定对应关系后  默认的 列名 和属性的对应关系 不起作用

关系型数据库

省    市     区

1     多

     1     多

Province  

    多个市

   private  List cs;

City

   Province

<resultMap  > 作用   1对多 多对一   映射

<result>   列 和 属性的 映射

<collection  property="list集合的属性" select="根据省id 查询city 的sqlid"

 column="pid"  >

 完成 1对多的 查询

        查 省  根据 省的id  到  city 表中 查询 多对一

mapper  接口 方式   常用方式

通过 mybatis  生成 接口的 动态代理类  实现 方法 和 sqlid 的 一一映射

注意的 是1. mapper.xml 文件中的 namespace 要与接口的 全路径保持一致

         2. 接口中的方法 需要与 xml 中的 sql id 保持一致 方可使用

 

反向工程

 

猜你喜欢

转载自blog.csdn.net/zhww1996/article/details/81459968
今日推荐