zoukankan      html  css  js  c++  java
  • Mybatis的简单增删查改(CRUD)

    简便演示下Mbatis的增删查改的便利性

    **先重新新建一个接口类,命名为GoodsDao2

    接着插入:

    package com.chen.dao;
    
    import java.util.List;
    
    import com.chen.GoodsInfo;
    
    public interface GoodsDao2 {
    	//查询所有   (查询所有不需要参数)
    	public List<GoodsInfo>  selAll();
    	//查询单一  (返回的一定是个对象,而不是集合;需要参数)
    	public GoodsInfo  selOne(String id);
    	
    	//新增
    	public void insertGoods(GoodsInfo a);
    	
    	//修改
    	public void updateGoods(GoodsInfo a);
    	
    	//删除
    	//根据id多少来删哪个,所以设置个参数
    	public void deleteGoods(String id);
    }
    
    

    因为一个对象的成员就像一个数据库表里的属性 ,所以,参数传对象进去是最合适的。

    然后补充mapper表映射XML文件,还记得吗,这个XML就相当于充当了 接口实现类。 负责具体操作;

    下面是我的表映射XML文件的改动

    <?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="com.chen.dao.GoodsDao">
    
      <select id="selAll" resultType="com.chen.GoodsInfo">
        select * from goods 
      </select>
      
      <select id="selOne" resultType="com.chen.GoodsInfo">
        select * from goods where id = #{id}
      </select>
      
      <!-- 新增 -->
      <!-- #{} 里填的是 对象的属性值,不能随便写-->
      <insert id ="insertGoods">
      insert into goods(id,name) values(#{id},#{name});
      </insert>
      
      <!-- 修改 -->
      <update id="updateGoods">
      	update goods set name =#{name} where id =#{id};
      </update>
      
      <!-- 删除 -->
      <delete id= "deleteGoods">
      	delete from goods where id =#{id}
      </delete>
    </mapper>
    

    现在重新建一个主入口类Start2

    public class Start2 {
    
    	public static void main(String[] args) {
    		
    		String resource = "mybatis-conf.xml";
    		InputStream  inputStream = Resources.getResourceAsStream(resource);
    		//创建SqlSessionFactory
    		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    		//true表示自动提交。否则需要使用commit方法才会提交。默认是false
    		SqlSession session = sqlSessionFactory.openSession(true);
    	}
    
    }
    

    然后点运行时,就有报错出现了


    根据提示上说,是接口没有被mapper表映射XML文件所指明

    然后运行一次
    没有报错,控制台输出空白,然后我去看了看数据库表

    测试SQL 更改

    测试SQL 删除

    成功

  • 相关阅读:
    洛谷 P1226 【模板】快速幂||取余运算 题解
    洛谷 P2678 跳石头 题解
    洛谷 P2615 神奇的幻方 题解
    洛谷 P1083 借教室 题解
    洛谷 P1076 寻宝 题解
    洛谷 UVA10298 Power Strings 题解
    洛谷 P3375 【模板】KMP字符串匹配 题解
    Kafka Shell基本命令
    Mybatis与Hibernate的详细对比
    MyBatis简介
  • 原文地址:https://www.cnblogs.com/czy16/p/7625832.html
Copyright © 2011-2022 走看看