Mybatis使用及案例分析

  1. mybatis介绍
    MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
    对于Mybatis的初始学习,推荐大家参考官网的教程进行初步学习Mybatis官网,里面介绍了对xml文件的内容表示我们只需进行学习,直接使用即可。
    例如:创建第一个xml文件,只需要将官网提供的代码拿来使用就好。不难发现,里面主要是sql语句,执行数据库的操作。
  <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
  <select id="selectBlog" resultType="Blog">
    select * from Blog where id = #{id}
  </select>
</mapper>
  1. Mapper映射器
    帮助Mybatis使用SQL语言,告诉 MyBatis 到哪里去找映射文件。对于上个模块的sql文件,mybatis没有办法去识别并找到,这里就要体现mapper的作用。
    定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下,这里并不是硬性要求,保证他们的存放路径名称相同即可。

    如图:复制两个路径
    com/mapper/GoodsMapper.java
    com/mapper/GoodsMapper.xml

在xml文件添加java文件

<mapper namespace="com.mapper.GoodsMapper"></mapper>

此外 可以使用maven插件查看两个文件是否放到了同一个目录下。setting/plugins/maven helper
在这里插入图片描述
回到程序,右键run maven / compile,在控制台显示的文件查看其是否位于同一个目录下面。
在这里插入图片描述
完成相关配置后进行实际操作。

  1. 封装数据库参数,通过get /set/tostring方法
  2. 在java文件里面写需要使用的方法(增删改查)
 Good select();
 void add(Good good);
 int updata(Good good);
 void deleteById(int id);
 //批量删除
 void deleteByIds(int[] ids);

3.在对应得Xml文件里面写相应的sql语句。(在写完java文件所需的的方法后,alt+enter在相应的方法处,系统会为我们跳转并提供方法,我们只需进行sql语句的编写)

<select id="select" resultType="Good">
        select *
        from tb_goods
 </select>
 
 <insert id="add" useGeneratedKeys="true" keyProperty="id" >
        insert into tb_goods(goods_name,company_name,ordered,description,status)
        values (#{goods_name},#{company_name},#{ordered},#{description},#{status});
 </insert>
<delete id="deleteById">
        delete  from tb_goods
            where id in=#{id}  ;
</delete>

id即为你所要使用的sql的方法,resultType=""查询数据是需要返回数据的封装类名称。

4.在test目录下创建test.java文件

 String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
               //获取sqlsession
        SqlSession sqlSession = sqlSessionFactory.openSession(true); //添加时提交事务
        //获取mapper接口代理对象
        GoodsMapper goodsMapper = sqlSession.getMapper(GoodsMapper.class);
  List<Good> select = goodsMapper.select(Good);
        System.out.println(select);

上面代码写入test,不用记住,在mybatis官网给我们提供了的。注意对于 resource文件的正确使用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值