MyBatis 是一个半自动 ORM 框架,它允许开发人员使用 XML 或注解配置 SQL 映射,从而实现将 Java 对象映射到关系型数据库中。
以下是一个简单的 MyBatis 示例,它演示了如何使用 XML 配置文件将一个简单的 Java 对象映射到数据库表中。
首先,我们创建一个名为 Student 的 Java 类:
public class Student {
private Long id;
private String name;
private int age;
// Getters and setters
}
然后,我们创建一个名为 student.xml 的 XML 文件来配置我们的 SQL 映射:
<?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.example.StudentMapper">
<resultMap id="studentResultMap" type="Student">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="age" column="age" />
</resultMap>
<select id="getStudentById" resultMap="studentResultMap">
SELECT id, name, age
FROM students
WHERE id = #{id}
</select>
<insert id="insertStudent" parameterType="Student">
INSERT INTO students (name, age)
VALUES (#{name}, #{age})
</insert>
<update id="updateStudent" parameterType="Student">
UPDATE students
SET name = #{name}, age = #{age}
WHERE id = #{id}
</update>
<delete id="deleteStudent" parameterType="Long">
DELETE FROM students
WHERE id = #{id}
</delete>
</mapper>
在上面的 XML 文件中,我们定义了一个名为 StudentMapper 的命名空间,并定义了 getStudentById、insertStudent、updateStudent 和 deleteStudent 四个 SQL 映射。
最后,我们可以使用以下代码来执行 SQL 映射:
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
SqlSession sqlSession = sqlSessionFactory.openSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
Student student = new Student();
student.setName("John");
student.setAge(25);
studentMapper.insertStudent(student);
sqlSession.commit();
sqlSession.close();
在上面的代码中,我们首先创建了一个 SqlSessionFactory 对象,然后打开一个 SqlSession 对象。接着,我们通过 getMapper 方法获取 StudentMapper 对象,并使用该对象调用 insertStudent 方法将学生对象保存到数据库中。最后,我们提交事务并关闭 SqlSession。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。