MyBatis快速入门攻略
简介
MyBatis是一款流行的持久层框架,它将对象与关系数据库之间的映射过程进行了封装,使得开发者只需要专注于业务逻辑的编写,而不需要关心数据的存储和查询等操作。本篇攻略将带领读者快速入门MyBatis框架,使读者能够快速地上手使用MyBatis,并学习基本使用方法和技巧。
准备工作
在开始学习MyBatis之前,需要确保以下工作已经完成。
- 安装Java JDK,推荐使用JDK 8或以上版本。
- 安装Maven,用于构建和管理项目依赖。
- 安装MySQL数据库,并创建一张测试数据表。本文以user表为例,包含id、name和age三个字段。
快速入门示例
这里通过两个示例来介绍如何使用MyBatis框架进行数据库操作。
示例1:查询用户信息
首先需要在Maven项目中引入MyBatis依赖。
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
然后,需要创建MyBatis配置文件mybatis-config.xml,配置数据源和Mapper映射文件。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml" />
</mappers>
</configuration>
在Mapper映射文件中定义各种数据库操作的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.mapper.UserMapper">
<select id="getUserById" resultType="com.example.pojo.User">
select * from user where id = #{id,jdbcType=INTEGER}
</select>
</mapper>
其中,id为SQL语句的唯一标识符,resultType为查询结果的类型,可以是基本类型、Map类型或者POJO类型。
最后,在Java代码中使用MyBatis框架调用Mapper接口中的方法进行数据库操作。
public static void main(String[] args) throws Exception{
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
其中,使用SqlSessionFactoryBuilder来解析mybatis-config.xml配置文件,创建SqlSessionFactory实例。SqlSession代表与数据库的一次会话,通过getMapper方法获得对应Mapper接口的实例,接着调用Mapper中的方法完成数据库操作。
示例2:插入新用户信息
接下来,介绍如何使用MyBatis进行插入新用户信息的操作。
首先,在Mapper映射文件中定义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.mapper.UserMapper">
<insert id="addUser" parameterType="com.example.pojo.User">
insert into user (name, age) values (#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})
</insert>
</mapper>
然后,在Java代码中使用Mapper接口进行调用。
public static void main(String[] args) throws Exception{
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setName("Tom");
user.setAge(20);
userMapper.addUser(user);
sqlSession.commit();
sqlSession.close();
}
在Java代码中构造一个User实例,并将其传递给Mapper接口的addUser方法即可完成插入操作。需要注意,在进行插入、修改等操作后,需要调用SqlSession的commit方法来提交事务,否则数据不会被保存到数据库中。
至此,本文的MyBatis快速入门攻略已经介绍完毕。读者可以根据需要进一步学习MyBatis的高级用法和技巧。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis快速入门 - Python技术站