一文教会你用mybatis查询数据库数据
前置要求
在开始学习mybatis查询数据库数据之前,你需要具备以下技能:
- 熟悉java语言
- 熟悉SQL语句
步骤
1. 引入mybatis的jar包
通过maven或手动导入mybatis的jar包到你的项目中。通常需要以下两个依赖:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.x.x</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.x.x</version>
</dependency>
2. 配置mybatis的数据源
在项目的配置文件中配置数据源,例如使用jdbc连接MySQL数据库的配置如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test_database?serverTimezone=GMT%2B8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
3. 配置mybatis的映射文件
在mybatis的映射文件中,提供一个select语句进行查询,例如查询一条记录:
<select id="selectUserById" resultType="User">
select * from user where id = #{id}
</select>
上述示例中,查询语句中使用了一个占位符“#{id}”,在运行查询时,该占位符会被实际参数替换。
4. 配置mybatis的SqlSessionFactory
配置mybatis的SqlSessionFactory,实际是通过SqlSessionFactoryBuilder将配置文件读取并生成SqlSessionFactory实例。以下示例是使用spring的方式进行配置:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath*:mapper/*.xml"/>
</bean>
5. 通过SqlSession进行查询
通过SqlSessionFactory获取SqlSession对象,进行查询操作。以下是最简单的查询示例:
@Autowired
private SqlSessionFactory sqlSessionFactory;
public User selectUserById(int id) {
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
return mapper.selectUserById(id);
}
}
上述示例中,UserMapper是mybatis的映射文件中配置的映射接口。在这个接口中定义了与数据表相关的各种操作方法,例如查询、修改、删除等。在SqlSession中获取该接口的实例,即可调用其中的方法进行操作。
示例
示例1:查询用户信息
以下是一个查询数据库中用户信息的例子,实际查询方法封装在UserMapper接口中:
public interface UserMapper {
@Select("select * from user where id = #{id}")
User selectUserById(int id);
}
通过该查询语句,我们可以查询一条指定id的用户记录。
示例2:批量查询
以下示例展示了如何进行批量查询操作,以查询年龄大于18岁的用户为例:
public interface UserMapper {
@Select("select * from user where age > #{age}")
List<User> selectUserByAge(int age);
}
查询结束后,我们可以得到符合条件的所有用户信息。
总结
通过上述步骤,我们可以轻松地使用mybatis进行数据库的查询操作。同时,mybatis还提供了丰富的扩展功能,例如分页、多表联合查询等,可满足各种不同的查询需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文教会你用mybatis查询数据库数据 - Python技术站