下面是详细讲解“简述Mybatis增删改查实例代码”的完整攻略。
1. 简介
Mybatis是一款优秀的持久层框架,它对JDBC的操作进行了封装,使我们能够更加高效地进行数据库操作,同时也提高了代码的可读性和可维护性。在这里,我们将介绍如何使用Mybatis进行增删改查操作。
2. 环境
为了执行Mybatis示例,我们需要安装以下软件:
- Java JDK 1.8或更高版本
- Mybatis框架
3. 示例
示例1:增加数据
本示例通过插入一条student记录演示如何使用Mybatis插入数据。
a. 创建数据库表
创建数据库表并插入一条数据:
-- 创建数据库和student表
CREATE DATABASE IF NOT EXISTS mybatis;
USE mybatis;
DROP TABLE IF EXISTS student;
CREATE TABLE student (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 插入数据
INSERT INTO student (name, age) VALUES ('John', 20);
b. 定义映射文件
在Mybatis中,我们需要使用XML文件来描述SQL查询语句。
首先在src/main文件夹下创建一个resources文件夹,并在该文件夹下创建一个名为student-mapper.xml的文件。该文件描述了数据表的insert语句:
<?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="studentMapper">
<insert id="insertStudent" parameterType="student">
INSERT INTO student (name, age) values (#{name}, #{age})
</insert>
</mapper>
其中\
c. 定义接口类
接着,在src/main/java文件夹下创建一个名为studentMapper.java的Java接口文件,该文件描述的是如何对student表进行增删改查操作。
public interface studentMapper {
void insertStudent(student student);
}
d. 实现Java代码
最后,在src/main/java下创建一个名为App.java的Java文件并实现插入数据的代码:
public class App {
public static void main(String[] args) throws Exception {
// 加载mybatis配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
// 获取session
SqlSession session = sqlSessionFactory.openSession();
// 获取mapper对象
studentMapper mapper = session.getMapper(studentMapper.class);
// 创建student对象并插入数据
student s = new student();
s.setName("Lisa");
s.setAge(21);
mapper.insertStudent(s);
// 提交操作并关闭session
session.commit();
session.close();
System.out.println("记录已插入到数据库中。");
}
}
在这个示例中,我们首先加载Mybatis的配置文件。然后,我们创建了一个SqlSessionFactory对象,它是一个装载器类,用于生成SqlSession对象。接着,我们打开一个SqlSession对象,并获取我们定义的接口类的实例studentMapper。在main函数中,我们创建了一个student对象,并设置了名字和年龄字段。然后,我们调用mapper实例的insertStudent方法并传递student对象作为参数。最后,我们提交操作并关闭SqlSession。
示例2:查询数据
本示例演示如何使用Mybatis查询和显示student表中的所有记录。
a. 定义映射文件
在src/main/resources文件夹下创建一个名为student-mapper.xml的XML文件,该文件描述查询语句。
<?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="studentMapper">
<select id="selectAllStudents" resultType="arraylist">
SELECT * FROM student
</select>
</mapper>
在该文件中,我们定义了查询语句并使用了select标签。resultType属性表示方法返回值的数据类型,该示例中返回ArrayList类型。注意,这里使用的是SQL语句而不是ORM语句。
b. 定义接口类
在src/main/java文件夹下创建一个名为studentMapper.java的Java接口文件:
public interface studentMapper {
ArrayList<student> selectAllStudents();
}
该示例中与之前的实现有所不同,我们定义了一个返回ArrayList类型的方法。
c. 实现Java代码
最后,在src/main/java文件夹下,创建一个名为App.java的Java文件,并实现查询和输出结果的代码:
public class App {
public static void main(String[] args) throws Exception {
// 加载mybatis配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
// 获取session
SqlSession session = sqlSessionFactory.openSession();
// 获取mapper对象
studentMapper mapper = session.getMapper(studentMapper.class);
// 调用mapper对象中的selectAllStudents方法
ArrayList<student> students = mapper.selectAllStudents();
// 输出结果
for (student student : students) {
System.out.println("ID:" + student.getId() + ",姓名:" + student.getName() + ",年龄:" + student.getAge());
}
// 关闭session
session.close();
}
}
在这个示例中,我们首先加载Mybatis的配置文件,然后创建一个SqlSessionFactory对象。接着,我们打开一个SqlSession对象,并获取我们定义的接口类的实例studentMapper。在main函数中,我们调用mapper实例的selectAllStudents方法,获取一个ArrayList类型的结果。最后,我们遍历每一条记录并输出它们的ID、姓名和年龄。
4. 总结
以上就是关于如何使用Mybatis进行增删改查操作的完整攻略。我们通过两个示例详细讲解了如何使用Mybatis,从创建数据库表到定义XML文件、接口类以及Java代码,一步一步教你操作。希望这篇攻略能够为你提供一些帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简述Mybatis增删改查实例代码 - Python技术站