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

成功

原文地址:https://www.cnblogs.com/czy16/p/7625832.html