MyBatis是一种流行的Java持久化框架,用于将SQL查询和数据库操作与Java对象之间进行映射。MyBatis通过XML配置文件或注解来定义SQL映射规则,其中使用了一些特定的标签来实现不同的功能。下面分几篇文章简单介绍一下常用标签的作用和使用方法。虽然现在可以通过jpa和基于注解的方式使用mybatis快速实现数据库表的快速开发,但是这里我还是以最原始的xml的方式去介绍,基于注解的方式跟基于xml的方式可以理解为能够对应上。先从常用的curd来写。
这里先假设有个POJO类叫User,有一张表t_user
ClassUser{ privateLongid; privateStringname; privateIntegerage; //get set}
CREATETABLE `t_user` ( `id` int(11)NOTNULL AUTO_INCREMENT, `name` varchar(30)NULL DEFAULT NULL, `age` int(11)NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE )
<select>: 定义一个查询操作的SQL语句,用于从数据库中检索数据,并将结果映射到Java对象中。
<selectid="getList"parameterType="package.User"resultType="package.User"> SELECT t.ID,t.name,t.age FROM t_user t </select>
<insert>: 定义一个插入操作的SQL语句,用于向数据库中插入数据。
<insertid="create"useGeneratedKeys="true"keyProperty="id"parameterType="package.User"> INSERT INTO t_user(name,age ) VALUES(#{name},#{age}) </insert>
<update>: 定义一个更新操作的SQL语句,用于修改数据库中的数据。
<updateid="update"parameterType="package.User"> UPDATE t_user SET name = #{name}, age= #{age} WHERE ID = #{id} </update>
<delete>: 定义一个删除操作的SQL语句,用于从数据库中删除数据。
<deleteid="delete"parameterType="long"> delete from t_user WHERE ID = #{id} </delete>
总结,这里只演示标签的使用,不涉及到业务数据处理方法的正确性,比如操作人操作时间的完善,数据的真假删的问题等。