首先,使用MyBatis进行CRUD操作需要进行以下步骤:
-
定义数据库表结构,并在MyBatis中创建对应的实体类。
-
配置MyBatis的XML映射文件,将实体类映射到数据库中的表结构。
-
创建MyBatis的SqlSessionFactory对象。
-
使用SqlSessionFactory对象创建SqlSession对象。
-
使用SqlSession对象进行CRUD操作。
接下来,我们将详细讲解每个步骤,并提供两个CRUD操作的示例。
步骤一:定义数据库表结构及实体类
以学生信息表为例,数据库表结构如下:
CREATE TABLE student (
id INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
name VARCHAR(255) DEFAULT NULL COMMENT '学生姓名',
age INT DEFAULT NULL COMMENT '学生年龄',
address VARCHAR(255) DEFAULT NULL COMMENT '学生地址',
PRIMARY KEY (`id`)
);
对应的实体类如下:
public class Student {
private Integer id; // 学生ID
private String name; // 学生姓名
private Integer age; // 学生年龄
private String address; // 学生地址
// getter和setter方法
// 省略...
}
步骤二:配置MyBatis的XML映射文件
在MyBatis的XML映射文件中,我们需要进行以下配置:
-
配置数据源及事务管理器。
-
配置实体类映射到数据库表的SQL语句。
示例如下:
<mapper namespace="com.example.mapper.StudentMapper">
<!-- 配置数据源 -->
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/my_sql"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
<!-- 配置事务管理器 -->
<transactionManager type="JDBC"/>
<!-- 配置实体类映射到数据库表的SQL语句 -->
<insert id="insertStudent" parameterType="com.example.entity.Student">
insert into student(name, age, address)
values(#{name}, #{age}, #{address})
</insert>
<delete id="deleteStudent" parameterType="int">
delete from student where id = #{id}
</delete>
<update id="updateStudent" parameterType="com.example.entity.Student">
update student
set name = #{name}, age = #{age}, address = #{address}
where id = #{id}
</update>
<select id="selectStudentById" parameterType="int" resultType="com.example.entity.Student">
select * from student where id = #{id}
</select>
<select id="findAllStudents" resultType="com.example.entity.Student">
select * from student
</select>
</mapper>
步骤三:创建MyBatis的SqlSessionFactory对象
SqlSessionFactory是MyBatis的核心对象,用于创建SqlSession对象。创建SqlSessionFactory对象的代码如下:
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
步骤四:创建SqlSession对象
SqlSession是MyBatis的核心对象,用于执行CRUD操作。创建SqlSession对象的代码如下:
SqlSession sqlSession = sqlSessionFactory.openSession();
步骤五:使用SqlSession对象进行CRUD操作
使用SqlSession对象进行CRUD操作的示例代码如下:
// 新增学生
Student student = new Student();
student.setName("张三");
student.setAge(20);
student.setAddress("北京市");
int result = sqlSession.insert("com.example.mapper.StudentMapper.insertStudent", student);
sqlSession.commit();
// 删除学生
int id = 1;
int result = sqlSession.delete("com.example.mapper.StudentMapper.deleteStudent", id);
sqlSession.commit();
以上就是MyBatis项目CRUD步骤实例的详解,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis项目CRUD步骤实例详解 - Python技术站