下面是“Java MyBatis-Plus之初始MyBatis”的攻略。
什么是MyBatis
MyBatis是一个支持自定义SQL,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解配置和原生Map映射,将接口和Java的POJOs映射成数据库中的记录。
MyBatis-Plus是什么
MyBatis-Plus是一个为MyBatis框架提供的增强工具,包括但不限于通用Mapper、分页插件、性能分析插件等。MyBatis-Plus能够简化MyBatis的开发流程,提高开发效率。
如何初始MyBatis
- 添加MyBatis和MyBatis-Plus的依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.2.0</version>
</dependency>
</dependencies>
- 配置数据库连接信息
在application.properties文件中配置数据库连接信息,如下:
# datasource config
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
- 创建Mapper
创建接口,如下:
public interface UserMapper extends BaseMapper<User> {
/**
* 自定义查询,方法名对应的SQL语句可以自己编写
*/
List<UserVO> listUsers(@Param("name") String name);
}
- 定义SQL语句
在resources/mapper/UserMapper.xml文件中定义SQL语句,如下:
<mapper namespace="com.example.mapper.UserMapper">
<resultMap id="userMap" type="com.example.entity.User">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="age" property="age"/>
<result column="email" property="email"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<select id="listUsers" resultMap="userMap">
SELECT * FROM user
<where>
<if test="name != null">
AND name like concat('%',#{name},'%')
</if>
</where>
</select>
</mapper>
- 使用MyBatis-Plus提供的方法进行数据库操作
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
@Autowired
private UserMapper userMapper;
@Override
public List<UserVO> listUsers(String name) {
return userMapper.listUsers(name);
}
}
至此,我们就成功地初始了MyBatis的开发,并且使用MyBatis-Plus的通用Mapper进行了数据库操作。
示例1:分页查询
@Test
public void testPage() {
Page<User> page = new Page<>(1, 2);
IPage<User> result = userService.page(page);
System.out.println(result.getRecords());
}
上述代码实现了分页查询,其中page变量表示第1页,每页查询2条记录。IPage对象用于返回查询结果,其中getRecords方法可以获得查询结果的数据集合。
示例2:自定义查询
@Test
public void testListUsers() {
List<UserVO> users = userService.listUsers("Tom");
System.out.println(users);
}
上述代码通过自定义查询获取了用户名中包含“Tom”的用户记录,返回的结果为UserVO类型的数据集合。
以上就是MyBatis-Plus的初始攻略和两个示例,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java MyBatis-Plus之初始MyBatis - Python技术站