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 删除

    成功

  • 相关阅读:
    字符编码笔记:ASCII,Unicode 和 UTF-8
    nginx 负载均衡设置
    ubuntu 修改时区
    js 高阶函数 filter
    js 高阶函数 map reduce
    省市联级菜单--js+html
    php代码优化技巧
    json、xml ---- 数据格式生成类
    初识设计模式(1)---单例、工厂、注册树
    php 链式操作的实现 学习记录
  • 原文地址:https://www.cnblogs.com/czy16/p/7625832.html
Copyright © 2011-2022 走看看