前提条件准备好这个数据库文件和内容;
Student数据库:
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(11) NOT NULL,
`age` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('2', '22', '李四');
INSERT INTO `student` VALUES ('3', '33', '王五');
INSERT INTO `student` VALUES ('7', '77', '小七');
INSERT INTO `student` VALUES ('8', '88', '小个');
其实这个是最简单的了,数据库表的字段对应了实体类中字段的名字,也就是说表中的字段是(id),实体类中的对应的也是(id)。具体的看以下图片的对比应该也能看懂。
实体类================数据库表
Student.class=====student数据库表
1.1、根据id查询某个人
Student findOneById(Integer id);
<select id="findOneById" resultType="com.example.demo.bean.Student"> select * from student where id = #{o}; </select>
1.2、根据名字查询某个人
List<Student> findOneByNameLike(String str);
<select id="findOneByNameLike" resultType="com.example.demo.bean.Student"> select * from student where name like '%${value}'; </select>
1.3、添加一个人
Integer addOne(Student student);
<insert id="addOne"> insert into student (id, age, name) value (#{id}, #{age}, #{name}); </insert>
1.4、根据ID更新一个人
Integer updataOneById(Student student);
<update id="updataOneById"> update student set name = #{name}, age = #{age} where id = #{id}; </update>
1.5、根据ID删除一个人
Integer deleteOneById(Integer integer);
<delete id="deleteOneById"> delete from student where id = #{id}; </delete>
1.6、根据一个包装类查询一个人
包装类:
package com.example.demo.bean; import lombok.Data; import java.io.Serializable; @Data public class QueryVo implements Serializable { private Student student; }
List<Student> queryByPoJo(QueryVo queryVo);
<select id="queryByPoJo" resultType="com.example.demo.bean.Student"> select * from student where name like '%${student.name}'; </select>
1.7、查询总数量
Integer queryCount();
<select id="queryCount" resultType="java.lang.Integer"> select count(*) from student; </select>