mybatis-plus中手写sql
时间: 2023-11-17 08:55:25 浏览: 314
在MyBatis-Plus中,可以通过`@Select`注解或者`Mapper`的方式来手写SQL。下面是两种方式的示例:
1. 使用`@Select`注解手写SQL:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT * FROM user WHERE age > #{age}")
List<User> selectUsersByAge(@Param("age") int age);
}
```
2. 在Mapper接口中手写SQL:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
List<User> selectUsersByAge(@Param("age") int age);
}
```
在XML文件中编写SQL:
```xml
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectUsersByAge" resultType="com.example.entity.User">
SELECT * FROM user WHERE age > #{age}
</select>
</mapper>
```
使用时,可以直接调用该方法执行手写的SQL。
相关问题
mybatis-plus替换原始sql
MyBatis-Plus是一个基于MyBatis的ORM框架增强工具,它简化了SQL映射文件的编写,并提供了一些方便的功能,如自动 CRUD、全局通用Mapper、全局通用Service等,可以极大地提高开发效率。它并没有直接“替换”原始SQL,而是通过注解和模板引擎,将常见的数据库操作封装起来,开发者通常不再需要手写详细的原生SQL。
当你使用MyBatis-Plus时,大部分情况下会通过其提供的API或方法来执行SQL,例如`@Select`, `@Insert`, `@Update`, `@Delete`等注解来声明查询、插入、更新和删除操作,框架会在运行时生成对应的动态SQL。这些注解会结合数据库配置信息,最终转化为可执行的SQL语句发送给数据库。
尽管如此,MyBatis-Plus也支持自定义SQL,如果需要更复杂的查询或者特定场景下的定制,你可以通过`ModelWrapper`来手动创建并执行SQL。总的来说,MyBatis-Plus更多的是对底层SQL进行了抽象和管理,而不是完全替代。
Mybatis-plus技术博客如何使用mybatis-plus进行增删改查
Mybatis-plus 是一个 Mybatis 的增强工具,提供了很多方便的操作方法,可以使我们的开发效率更高、更简洁。下面是使用 Mybatis-plus 进行增删改查的示例:
1. 添加依赖
在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
```
2. 配置数据源
在 application.properties 文件中配置数据源信息:
```properties
spring.datasource.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username = root
spring.datasource.password = 123456
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
```
3. 创建实体类
创建一个实体类,可以使用注解 @TableName 指定数据库表名,@TableId 指定主键字段。
```java
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
}
```
4. 创建 Mapper 接口
创建一个 Mapper 接口,继承 BaseMapper 类,可以直接使用 Mybatis-plus 提供的方法,无需手写 SQL。
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
5. 使用 Mybatis-plus 进行增删改查
使用 Mybatis-plus 提供的方法进行增删改查操作。
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public void addUser(User user) {
userMapper.insert(user);
}
@Override
public void deleteUserById(Long id) {
userMapper.deleteById(id);
}
@Override
public void updateUser(User user) {
userMapper.updateById(user);
}
@Override
public User getUserById(Long id) {
return userMapper.selectById(id);
}
@Override
public List<User> getUserList() {
return userMapper.selectList(null);
}
}
```
以上就是使用 Mybatis-plus 进行增删改查的示例。当然,Mybatis-plus 还提供了其他很多方便的操作方法,可以根据具体需求进行使用。
阅读全文