下面是SpringBoot中Mybatis + Druid数据访问的详细步骤:
在pom.xml文件中引入Mybatis和Druid的依赖,如下:
<dependencies>
<!-- Mybatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- Druid依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
</dependencies>
在application.properties
中配置Druid数据源,如下:
# Druid
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=your_username
spring.datasource.password=your_password
# Druid监控
spring.datasource.druid.stat-view-servlet.allow=true
spring.datasource.druid.stat-view-servlet.reset-enable=true
在第8行中,我们定义了Druid的配置类,即DruidDataSource
,这里要注意com.alibaba.druid.pool.DruidDataSource
是Druid数据源的具体实现。第9行指定了MySQL的驱动程序。第10行指定了MySQL数据库连接的URL,即localhost:3306/db_name
,其中db_name
是你的数据库名,你需要将其替换为你自己的数据库名。第11和12行是连接MySQL所需的用户名和密码。最后三行是为了配置Druid的监控。
在配置Mybatis之前,我们需要定义Mapper接口和对应的Mapper.xml文件。下面是一个简单的示例:
@Mapper
public interface UserMapper {
@Select("select * from user where id=#{id}")
User getUserById(int id);
}
在Mapper接口中,我们通过@Mapper
注解标识这是一个Mapper接口,然后我们定义了一个查询方法getUserById(int id)
,它使用了Mybatis的注解@Select
来指定SQL语句,其中#{id}
是占位符,它将会被实际的参数所替换。
<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="getUserById" resultType="com.example.demo.entity.User">
select * from user where id=#{id}
</select>
</mapper>
在Mapper.xml文件中,我们首先定义了namespace
属性,它指定了该Mapper.xml文件对应的Mapper接口。然后我们定义了select
元素,其中id
属性指定了查询方法的名称,resultType
属性指定了返回结果的类型,如果我们不指定resultType
,Mybatis将会选择使用Java的反射机制来实例化一个对象。
在application.properties
中添加Mybatis的配置信息,如下:
# Mybatis
mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:mapper/*.xml
在第2行中,我们指定了Java对象的别名包路径,它用于在Mapper.xml文件中使用Java的简短类名,而不是使用完整的类名。在第3行中,我们指定了Mapper.xml文件的路径,这里我们将存放所有Mapper.xml文件的文件夹命名为mapper
,并将其存放在src/main/resources
目录下。
以下是查询用户的示例代码:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/{id}")
public User getUserById(@PathVariable int id) {
return userMapper.getUserById(id);
}
}
在上面的代码中,我们通过@Autowired
注解将UserMapper注入到控制器中,然后在getUserById(int id)
方法中调用了Mapper接口中定义的getUserById(int id)
方法,并返回结果。
public class User {
private int id;
private String name;
private int age;
// 省略getter和setter
}
这是一个简单的实体类,它描述了一个用户的基本信息。
在SpringBoot中使用Mybatis和Druid进行数据访问,并不是很难。我们只需要按照上述步骤进行配置和编写代码即可。当然,上述步骤只是简单示例,并不能覆盖所有情况。在实际开发中,我们需要结合具体的需求进行更加详细的配置和编写。
本文链接:http://task.lmcjl.com/news/14090.html