Java实现链接数据库Mybatis
时间: 2024-01-19 14:02:06 浏览: 69
Mybatis 是一种基于 Java 的持久层框架,可以通过 XML 或注解的方式将数据库操作语句与 Java 对象映射起来。以下是使用 Mybatis 连接数据库的步骤:
1. 添加依赖:在项目的 pom.xml 文件中添加 Mybatis 的依赖。
2. 配置数据源:在项目的配置文件中配置数据库的连接信息。
3. 创建实体类:创建 Java 对象来映射数据库表结构。
4. 创建 Mapper 接口:定义数据库操作的方法。
相关问题
java基于mybatis连接数据库
Java 基于 MyBatis 连接数据库需要进行以下步骤:
1. 添加 MyBatis 依赖
在 Maven 项目中,可以在 pom.xml 文件中添加以下依赖:
```xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- 数据库连接池依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.6</version>
</dependency>
<!-- 数据库驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
```
2. 配置数据源
在 MyBatis 中使用连接池来管理连接。我们可以使用阿里巴巴的 Druid 数据库连接池。在项目中添加 Druid 数据库连接池的依赖后,我们需要配置数据源。
```java
import com.alibaba.druid.pool.DruidDataSource;
import javax.sql.DataSource;
public class DataSourceFactory {
private static final String url = "jdbc:mysql://localhost:3306/mybatis_demo?useUnicode=true&characterEncoding=utf-8&useSSL=false";
private static final String username = "your username";
private static final String password = "your password";
private static final String driverClassName = "com.mysql.cj.jdbc.Driver";
public static DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setDriverClassName(driverClassName);
return dataSource;
}
}
```
3. 配置 MyBatis
在 MyBatis 中,我们需要配置 SQLSessionFactory 和 Mapper 接口。可以使用 XML 或 Java 代码进行配置。这里我们使用 Java 代码进行配置。
```java
import org.apache.ibatis.datasource.DataSourceFactory;
import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MyBatisConfig {
public static SqlSessionFactory getSqlSessionFactory() {
DataSourceFactory dataSourceFactory = new UnpooledDataSourceFactory();
dataSourceFactory.setDataSource(DataSourceFactory.getDataSource());
Environment environment = new Environment("development", null, dataSourceFactory.getDataSource());
Configuration configuration = new Configuration(environment);
configuration.addMapper(UserMapper.class);
return new SqlSessionFactoryBuilder().build(configuration);
}
}
```
4. 编写 Mapper 接口
Mapper 接口是 MyBatis 中的核心组件。它定义了 SQL 语句的执行方式。我们需要编写一个接口来定义 SQL 语句的执行方式。
```java
import java.util.List;
public interface UserMapper {
List<User> findAll();
}
```
5. 编写 Mapper XML 文件
Mapper XML 文件是 MyBatis 中的核心组件。它定义了 SQL 语句的具体执行方式。我们需要编写一个 XML 文件来定义 SQL 语句的执行方式。
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="findAll" resultMap="userResultMap">
select * from user
</select>
<resultMap id="userResultMap" type="com.example.entity.User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
</resultMap>
</mapper>
```
6. 编写测试代码
现在我们已经完成了 MyBatis 的配置和 Mapper 接口的编写。我们可以编写一个测试类来测试我们的代码。
```java
import com.example.entity.User;
import com.example.mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class MyBatisTest {
@Test
public void testFindAll() {
SqlSession sqlSession = MyBatisConfig.getSqlSessionFactory().openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = userMapper.findAll();
System.out.println(userList);
sqlSession.close();
}
}
```
这样,我们就完成了 Java 基于 MyBatis 连接数据库的操作。
实现用mybatis连接数据库
在MyBatis中连接数据库,你需要遵循以下步骤:
1. **添加MyBatis依赖**:
在你的项目的pom.xml(如果使用Maven)或build.gradle(如果使用Gradle)文件中添加MyBatis的依赖,例如对于Maven:
```xml
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version> <!-- 替换为你所需的版本 -->
</dependency>
```
2. **配置数据源**:
创建一个DataSource对象,通常使用第三方库如Druid或HikariCP。这一步骤取决于你的项目配置,例如在Spring Boot项目中,会通过@Configuration属性自动配置。
3. **创建SqlSessionFactory**:
通过DataSource实例创建SqlSessionFactory,这是MyBatis的核心组件,用于执行SQL查询。例如:
```java
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(dataSource);
```
4. **加载Mapper接口**:
将Mapper接口的位置注册到SqlSessionFactory,这样MyBatis就能找到它们。比如,如果你有一个UserMapper接口,你可以这样做:
```java
ClassPathResource resource = new ClassPathResource("mapper/UserMapper.xml");
MapperScannerConfigurer scannerConfigurer = new MapperScannerConfigurer();
scannerConfigurer.setBasePackage("com.example.mapper"); // 设置你的Mapper包路径
ResourceLoader loader = new UrlResourceLoader();
scannerConfigurer.setResources(loader.getResources(resource.getURI()));
sqlSessionFactory.registerMapper(UserMapper.class);
```
5. **执行查询**:
现在你可以通过SqlSession对象来执行查询了。例如,执行获取用户列表的查询:
```java
SqlSession session = sqlSessionFactory.openSession();
List<User> users = session.selectList("com.example.mapper.UserMapper.selectAllUsers");
session.close(); // 关闭SqlSession
```