需求场景:仓库部门需要登记每次入库信息,入库信息如下:入库人、入库名称、入库时间、入库物料、入库数量。根据以上需求设计一个mysql表。用sql写出来。再用java代码(mybaits框架)将这个表基础的增删改查写出来
时间: 2024-06-12 12:06:48 浏览: 142
MySQL表设计:
CREATE TABLE `warehouse` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`in_user` varchar(50) NOT NULL COMMENT '入库人',
`in_name` varchar(50) NOT NULL COMMENT '入库名称',
`in_time` datetime NOT NULL COMMENT '入库时间',
`in_material` varchar(100) NOT NULL COMMENT '入库物料',
`in_quantity` int(11) NOT NULL COMMENT '入库数量',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='仓库入库信息表';
Java代码:
package com.example.demo.dao;
import com.example.demo.entity.Warehouse;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface WarehouseDao {
@Insert("INSERT INTO warehouse(in_user, in_name, in_time, in_material, in_quantity) " +
"VALUES(#{inUser}, #{inName}, #{inTime}, #{inMaterial}, #{inQuantity})")
int insert(Warehouse warehouse);
@Delete("DELETE FROM warehouse WHERE id = #{id}")
int delete(int id);
@Update("UPDATE warehouse SET in_user = #{inUser}, in_name = #{inName}, in_time = #{inTime}, " +
"in_material = #{inMaterial}, in_quantity = #{inQuantity} WHERE id = #{id}")
int update(Warehouse warehouse);
@Select("SELECT * FROM warehouse WHERE id = #{id}")
Warehouse selectById(int id);
@Select("SELECT * FROM warehouse")
List<Warehouse> selectAll();
}
注意事项:
1. 在实体类Warehouse中,需要定义与表中字段对应的属性;
2. 在MyBatis的配置文件中,需要配置扫描dao接口的路径,并配置与数据库的连接信息;
3. 在Spring Boot中,可以使用注解@Configuration和@Bean来配置MyBatis的SqlSessionFactory和SqlSessionTemplate。
阅读全文