MyBatis 是一款灵活、高效的 ORM 框架,它支持定制化 SQL、存储过程以及高级映射。使用 MyBatis,我们可以通过简单的配置文件和 SQL 语句来实现持久层的操作。下面我将详细讲解如何写 MyBatis 的配置文件和简单使用。
1. 编写 MyBatis 的配置文件
MyBatis 的配置文件为 mybatis-config.xml
,这个文件需要包含以下内容:
1.1. 数据库连接配置
在配置文件中,我们需要指定数据库连接信息,包括驱动、数据库 URL、用户名和密码等。
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydatabase"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
1.2. Mapper 文件配置
MyBatis 可以将 SQL 语句和 Java 方法映射起来,生成对应的 SQL 语句并执行。在配置文件中,我们需要指定 Mapper 文件的位置。
<configuration>
<mappers>
<mapper resource="com/example/mappers/StudentMapper.xml"/>
</mappers>
</configuration>
1.3. 其它配置项
在配置文件中,我们还可以配置一些其它项,比如插件、缓存等。
<configuration>
<plugins>
<plugin interceptor="com.example.plugins.MyPlugin"/>
</plugins>
<cache/>
</configuration>
2. 编写 Mapper 文件
Mapper 文件是 MyBatis 中重要的配置文件,它定义了 SQL 语句和 Java 方法之间的映射关系。下面我们来看一个 Mapper 文件的例子。
<?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.mappers.StudentMapper">
<select id="selectById" resultType="com.example.entity.Student">
SELECT * FROM student WHERE id = #{id}
</select>
<insert id="insert" parameterType="com.example.entity.Student">
INSERT INTO student(name, age) VALUES(#{name}, #{age})
</insert>
</mapper>
在这个例子中,我们定义了一个名为 StudentMapper
的 Mapper 文件,它包含了两个 SQL 语句,一个是查询语句,一个是插入语句。其中,selectById
是 SQL 语句的 id,com.example.entity.Student
是返回结果的类型,#{id}
是参数占位符,对应 Java 方法中的参数。
3. 使用 MyBatis 执行 SQL 语句
在使用 MyBatis 执行 SQL 语句之前,我们需要先加载配置文件和创建 SqlSessionFactory。以下是一个简单的示例代码。
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
在获取了 SqlSession 之后,我们就可以使用它来执行 SQL 语句了。以下是一个查询示例代码。
Student student = sqlSession.selectOne("com.example.mappers.StudentMapper.selectById", 1L);
在这个例子中,我们使用了 selectOne
方法查询了一条数据,它接受两个参数,第一个参数是 SQL 语句对应的 id,第二个参数是 SQL 语句中的参数。
如果我们要执行插入或者更新操作,可以使用以下示例代码。
Student student = new Student();
student.setName("Alice");
student.setAge(20);
sqlSession.insert("com.example.mappers.StudentMapper.insert", student);
sqlSession.commit();
在这个例子中,我们使用了 insert
方法执行插入操作,它接受两个参数,第一个参数是 SQL 语句对应的 id,第二个参数是插入的数据。最后,我们执行了 commit
操作,提交事务。
以上就是 MyBatis 如何写配置文件和简单使用的完整攻略,其中包含了两个示例。希望能够对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis 如何写配置文件和简单使用 - Python技术站